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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как записать данные через форму в БД?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
molchun201
Отправлено: 22 Февраля, 2011 - 14:17:08
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


Помог: 5 раз(а)




Вот форма:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <form method="post" action="mytest.php">
  3.     Name:       <input type="text" name="name"><br/>
  4.     Nackname:   <input type="text" name="nickname"><br/>
  5.     Age:        <input type="text" name="age"><br/>
  6.     E-mail:     <input type="text" name="email"><br/>
  7.     <input type="submit" value="Отправить">
  8. </form>

Берём данные и их нада записать в БД, а вот страница с БД:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3.  
  4.    $connect = mysql_connect('localhost','root') or die('Подключение к базе данных не возможно <b><u>'.mysql_error()."</b></u>");
  5.  
  6.  
  7.    mysql_select_db('test',$connect) or die('Подключение к базе данных не возможно <b><u>'.mysql_error()."</b></u>");
  8.  
  9.    mysql_query('SET NAMES UTF8',$connect) or die('SET NAMES UTF8 failed');
  10.  
  11. // заявка на запись в БД
  12. // Пишет ошибку в поле VALUES, типа нельзя писать $_POST
  13.  
  14.    mysql_query("INSERT INTO user(full_name,nickname,age,email,registration_date)
  15.    VALUES($_POST['name'], $_POST['nickname'], $_POST['age'], $_POST['email'], NOW()),$connect");
  16. ?>
  17.  


-----
Обрамляйте код тегами и читайте
 
 Top
grefon
Отправлено: 22 Февраля, 2011 - 15:12:51
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010  


Помог: 32 раз(а)




Так а в чем проблема? Если не записывает, то для начала нужно поставить mysql_error() после mysql_query.


-----
____________________________________________________________________
Ну как то так, наверное.
http://grefon[dot]com
 
 Top
molchun201
Отправлено: 22 Февраля, 2011 - 17:00:04
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


Помог: 5 раз(а)




Разобрался, вот для потомков:

Проблемный кусок:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  mysql_query("INSERT INTO user(full_name,nickname,age,email,registration_date)
  3.   VALUES($_POST['name'], $_POST['nickname'], $_POST['age'], $_POST['email'], NOW()),$connect");
  4.  


Правильный кусрк:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. // Проверка чтоб POST не был пустым
  3. if($_POST){
  4. // Так вынес чтоб удобнее было читать +меньше гемора с экранацией
  5.         $name = $_POST['name'];
  6.         $nickname = $_POST['nickname'];
  7.         $age = $_POST['age'];
  8.         $email = $_POST['email'];
  9. // А вот и собака откопаная, в VALUE нада было кавычки поставить :)
  10.     mysql_query("INSERT INTO user(full_name, nickname)
  11.     VALUE('".$name."','".$nickname."','".$age."','".$email."')");
  12.     }
  13.  


-----
Обрамляйте код тегами и читайте
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB