Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: не пишутся данные в БД из формы отправки сообщений
Форумы портала PHP.SU » » Вопросы новичков » не пишутся данные в БД из формы отправки сообщений

Страниц (1): [1]
 

1. дядька - 13 Мая, 2017 - 09:10:57 - перейти к сообщению
Доброго времени суток!
Итак, есть форма для отправки сообщения, есть база данных (MySQL), таблица. Но вот проблема в том, что запись в таблицу добавляется пустой. Никаких значений полей нет, просто пустая запись (пустые строки)...
Так же, если задать значение не из полей формы, то они добавляются в таблицу, но никак не через переменные.

CODE (htmlphp):
скопировать код в буфер обмена
  1. <html>
  2.  
  3. <head>
  4.  
  5. <title>Ошибка!</title>
  6.  
  7. </head>a
  8.  
  9. <body>
  10. <?php
  11.  mysql_pconnect("localhost","root","") or die ("Невозможно подключение к MySQL");
  12.  mysql_select_db("kp") or die ("Невозможно открыть таблицу с данными");
  13.  
  14.  $name = addslashes($_POST['name']);
  15.  $mail = addslashes($_POST['mail']);
  16.  $message = addslashes($_POST['message']);
  17.  
  18.  $result = mysql_query ("INSERT INTO users ('"name"','"mail"','"message"') VALUES ('".$name."', '".$mail."', '".$message."')");
  19.  
  20. ?>
  21.     <from action="" method="post">
  22.       <input type="text" placeholder="Name" name="name">
  23.       <input type="text" placeholder="Email-id" name="mail">
  24.       <textarea placeholder="Your question" class="quest" name="message"></textarea>
  25.       <input type="submit" value="SEND" class="SEND">
  26.     </form>
  27. </body>
  28. </html>


Подскажите, пожалуйста, где я накосячил...
Заранее Спасибо.
2. Vladimir Kheifets - 13 Мая, 2017 - 18:55:25 - перейти к сообщению
Попробуйте так:
PHP:
скопировать код в буфер обмена
  1. $result = mysql_query ("INSERT INTO users (name,mail,message) VALUES ('$name', '$mail', '$message')");


Вообще-то помогает искать ошибки: or DIE(MYSQL_ERROR())

PHP:
скопировать код в буфер обмена
  1. $result = mysql_query ("INSERT INTO users (name,mail,message) VALUES ('$name', '$mail', '$message')") or DIE(MYSQL_ERROR() );
3. arbuzmaster - 15 Мая, 2017 - 11:57:44 - перейти к сообщению
Начнем с того, что у Вас нет проверки на достоверность данных пришедших из формы, поэтому при обновлении страницы в БД будут появляться пустые строки.
Для этого есть функции такие
. Про запрос к БД Вам уже написали, но все же прочитайте какие и где кавычки должны стоять в запросе.
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query ("INSERT INTO `users` (`name`,`mail`,`message`) VALUES ('$name', '$mail', '$message')");
  3.  
4. zapatronen - 15 Мая, 2017 - 12:07:36 - перейти к сообщению
ошибка написания FORM
<from action="" method="post">

Еще очень важно соблюдать последовательность поелй
если таблица имеет поля "name, mail, massage", то только в такой последовательности нужно формировать запрос в базу

 

Powered by ExBB FM 1.0 RC1