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 :: Добавления данных в базу данных (MySQL)

 PHP.SU

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


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

> Описание: добавление происходит при каждом обновлении страницы
Lexx
Отправлено: 25 Августа, 2008 - 21:26:19
Post Id


Новичок


Покинул форум
Сообщений всего: 36
Дата рег-ции: Апр. 2008  


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




Вот какая проблема:
Есть скрипт который записывает в базу данных (MySQL) в веденный текст пользователем то есть пользователь набрал текст нажимает кнопку отправить и некий текст записывается в базу данных. C записью проблем нет, проблема заключается в том что запасть происходит при обновлении странички и в базу записывается пустая строчка


??? Непонял!
 
 Top
pifon1989
Отправлено: 25 Августа, 2008 - 21:37:19
Post Id



Частый гость


Покинул форум
Сообщений всего: 196
Дата рег-ции: Май 2008  


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




Скрипт в студию!


-----
Ассемблер для Чайников
Всем любителям Pascal посвящается:
function writeln($text) {echo '<br>'.$text};
 
 Top
Lexx
Отправлено: 26 Августа, 2008 - 10:54:09
Post Id


Новичок


Покинул форум
Сообщений всего: 36
Дата рег-ции: Апр. 2008  


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




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

p.s. оригинал прислать не маго так как недоступен!

PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3.  
  4. $host = "localhost";
  5. $user = "root";
  6. $database = "test";
  7. $tables = "User";
  8. mysql_connect($host, $user);
  9. mysql_select_db($database);
  10.  
  11.  
  12.  
  13.         $name = $_POST ['text1'];
  14.         $password = $_POST ['text2'];
  15.         $mail = $_POST ['text3'];
  16.        
  17.                                                                        
  18.         if (mysql_query("INSERT INTO $tables VALUES ('$name', '$password', '$mail')"))
  19.  
  20.         {
  21.                 echo "<a>добавлено</a>";
  22.         }
  23. else
  24. {
  25.         echo "<a>не добавлено</a>";
  26. }
  27.  
  28.  
  29. ?>
  30.  
 
 Top
pifon1989
Отправлено: 26 Августа, 2008 - 11:14:39
Post Id



Частый гость


Покинул форум
Сообщений всего: 196
Дата рег-ции: Май 2008  


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




PHP:
скопировать код в буфер обмена
  1. if (mysql_query("INSERT INTO $tables VALUES ('$name', '$password', '$mail')"))

Ошибка вот в этом участке. Поскольку соединение с БД открыто, скрипт выполняет команду на запись.
Для проверки советую делать примерно следующее:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $host = "localhost";
  4. $user = "root";
  5. $database = "test";
  6. $tables = "User";
  7. // коннектимся к бд
  8. $connect = mysql_connect($host, $user, "пароль для доступа к базе");
  9. $select = mysql_select_db($database);
  10. // проверяем, что нам ввёл юзер, если ничего не ввёл - по ушам ему и пусть опять вводит
  11.  
  12.     $name = $_POST ['text1'];
  13.     $password = $_POST ['text2'];
  14.     $mail = $_POST ['text3'];
  15.  
  16. if (!empty($name) && !empty($password) && !empty($mail))
  17. {
  18. // всё ок, добавляем  в базу и выводим уведомление
  19. $operation = mysql_query("INSERT INTO $tables VALUES ('$name', '$password', '$mail')") or die("в процессе добавления произошла ошибка, пожалуйста, попробуйте снова");
  20.  
  21. echo "Добавлено.";
  22. }
  23.  
  24. else
  25. echo 'Вы попали на страницу из неверного источника или указаны не все данные. Пожалуйста, <a href="javascript:history.go(-1)">вернитесь</a> и попробуйте снова.';
  26.  
  27. // Закрываем соединение с бд
  28. mysql_close($connect);
  29. ?>
  30.  

(Отредактировано автором: 26 Августа, 2008 - 11:16:00)



-----
Ассемблер для Чайников
Всем любителям Pascal посвящается:
function writeln($text) {echo '<br>'.$text};
 
 Top
Lexx
Отправлено: 26 Августа, 2008 - 11:50:24
Post Id


Новичок


Покинул форум
Сообщений всего: 36
Дата рег-ции: Апр. 2008  


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




Большое спасибо!!!!!!!!! Теперь все стало понятно. Радость
 
 Top
pifon1989
Отправлено: 26 Августа, 2008 - 14:05:29
Post Id



Частый гость


Покинул форум
Сообщений всего: 196
Дата рег-ции: Май 2008  


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




Улыбка


-----
Ассемблер для Чайников
Всем любителям Pascal посвящается:
function writeln($text) {echo '<br>'.$text};
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB