MySQL Query не обрабатывает, тогда как PHP-код электронной почты? - PullRequest
0 голосов
/ 17 июля 2011

У меня есть настройки формы в HTML PHP и JavaScript. Я установил форму для запуска функции process () по нажатию кнопки отправки. В этой функции процесса я отправляю себе электронное письмо и вставляю данные из формы в запрос mysql и отправляю этот запрос.

Однако код электронной почты работает, и я получаю электронное письмо, а код запроса - нет, и поэтому я не получаю новых строк в своей базе данных. Я также не получаю вывод mysql_error ().

Пожалуйста, вы можете сказать мне, где я иду не так?

function process()
    {
        mysql_connect("localhost", "username", "password");
        mysql_select_db("db");
        $device = mysql_real_escape_string($_POST['Device_Type']);
        $name = mysql_real_escape_string($_POST['Name']);
        $job = mysql_real_escape_string($_POST['DD']);
        $username = mysql_real_escape_string($_POST['Username']);
        $email = mysql_real_escape_string($_POST['Email']);
        $website = mysql_real_escape_string($_POST['Website']);
        $UDID = mysql_real_escape_string($_POST['UDID']);
        mysql_query("INSERT INTO Beta_Testers (`Name`, `Username`, `Email Address`, `Website`, `Job`, `Device_Type`, `UDID`) VALUES ('$name','$username','$email','$website','$job','$device','$UDID'))") or die(mysql_error());  
          $msg = "Form Contents: \n\n";
          foreach($this->fields as $key => $field)
                $msg .= "$key :  $field \n";
          $to = 'beta@socialpic.org';
          $subject = 'Beta Form Submission';
         $from = 'Beta Sign up';
          mail($to, $subject, $msg, "From: $from\r\nReply-To: $from\r\nReturn-Path: $from\r\n");
    }

1 Ответ

0 голосов
/ 17 июля 2011

Поскольку mysql_query () является логической функцией в контексте, в котором вы ее используете, вы можете сделать следующее:

function process()
    {
        mysql_connect("localhost", "username", "password");
        mysql_select_db("db");
        $device = mysql_real_escape_string($_POST['Device_Type']);
        $name = mysql_real_escape_string($_POST['Name']);
        $job = mysql_real_escape_string($_POST['DD']);
        $username = mysql_real_escape_string($_POST['Username']);
        $email = mysql_real_escape_string($_POST['Email']);
        $website = mysql_real_escape_string($_POST['Website']);
        $UDID = mysql_real_escape_string($_POST['UDID']);
        $query = "INSERT INTO Beta_Testers (`Name`, `Username`, `Email Address`, `Website`, `Job`, `Device_Type`, `UDID`) VALUES ('$name','$username','$email','$website','$job','$device','$UDID'))";
        if (mysql_query($query)) {
            $msg = "Form Contents: \n\n";
            foreach($this->fields as $key => $field)
                $msg .= "$key :  $field \n";
            $to = 'beta@socialpic.org';
            $subject = 'Beta Form Submission';
            $from = 'Beta Sign up';
            mail($to, $subject, $msg, "From: $from\r\nReply-To: $from\r\nReturn-Path: $from\r\n");
        } else {
            echo $query;
        }
    }

Но, глядя на ваш код, столбец вашего адреса электронной почты называется "Адрес электронной почты"или" Email_Address "?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...