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]   

> Без описания
jfr
Отправлено: 21 Января, 2011 - 15:56:39
Post Id



Посетитель


Покинул форум
Сообщений всего: 332
Дата рег-ции: Март 2010  
Откуда: Таджикистан, Худжанд


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

[+]


Когда обновляю страницу последние данные повторно добавляются в базу данных, как решить эту проблему? помогите пжл...
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. echo "<form name=\"FormName\" action=\"add.php\" method=\"post\">";
  3. echo "<input name=\"t1\" type=\"text\" value=\"\">name</br>";
  4. echo "<input name=\"t2\" type=\"text\" value=\"\">owner</br>";
  5. echo "<input name=\"t3\" type=\"text\" value=\"\">species</br>";
  6. echo "<input name=\"t4\" type=\"text\" value=\"\">birth</br>";
  7. echo "<input name=\"hidden\" type=\"hidden\" value=\"kalima\">";
  8. echo "<input type=\"submit\" value=\"Send\">";
  9. echo "</form>";
  10. echo "<a href=\"script.php\">удалить</a>";
  11. $ttt=$_POST['hidden'];
  12. if ($ttt=="kalima" and strlen($_POST['t1'])!=0 and strlen($_POST['t2'])!=0 and strlen($_POST['t3'])!=0 and strlen($_POST['t4'])!=0)
  13. {
  14. mysql_connect('localhost', 'root', '123456');
  15.  $a=$_POST['t1'];
  16.  $b=$_POST['t2'];
  17.  $c=$_POST['t3'];
  18.  $d=$_POST['t4'];
  19.  mysql_query("insert into pet values('$a','$b','$c','$d',null)");
  20. }
  21. mysql_connect('localhost', 'root', '123456');
  22. $q=mysql_query("select * from pet");
  23. for( $i = 0 ; $i < mysql_num_rows($q); $i++ ) {
  24. $fetch = mysql_fetch_array($q) ;
  25. echo "<table border=1  id=table1>";
  26. echo"<tr>";
  27. echo "<td width=50>".$fetch['id']."</td>";
  28. echo "<td width=70>".$fetch['name']."</td>";
  29. echo "<td width=110>".$fetch['owner']."</td>";
  30. echo "<td width=110>".$fetch['birth']."</td>";
  31. echo "<td width=110>".$fetch['species']."</td>";
  32. echo "</tr>";
  33.  
  34. }
  35. ?>
 
 Top
Uchkuma
Отправлено: 21 Января, 2011 - 16:46:54
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


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




 
 Top
OrmaJever Модератор
Отправлено: 21 Января, 2011 - 16:55:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




Генерируем случайное значение (10 символов)
Записываем его в сесию
Создаём hidden поле с этим значением
И при проверке нажата ли кнопка также проверяем код из поля hidden и код из сесии.

(Отредактировано автором: 21 Января, 2011 - 16:55:29)



-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Invert
Отправлено: 21 Января, 2011 - 18:46:39
Post Id



Частый гость


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


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




jfr пишет:
данные повторно добавляются в базу данных

Это нормально - отправили данные, обновили и данные повторно отправились POST методом (появляется предупреждение о повторной отправке данных).
Как вам написал Uchkuma необходимо после отправки данных сделать редирект на другую страницу, на индекс к примеру.
 
 Top
Uchkuma
Отправлено: 22 Января, 2011 - 14:57:08
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


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




Invert пишет:
Как вам написал Uchkuma необходимо после отправки данных сделать редирект на другую страницу, на индекс к примеру.
Да хоть на эту же самую. Повторной отправки post-данных после редиректа уже не будет.
 
 Top
JustUserR
Отправлено: 23 Января, 2011 - 11:38:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




jfr пишет:
Когда обновляю страницу последние данные повторно добавляются в базу данных, как решить эту проблему
В качестве допустимого универсализированного варианта решения предполагаемого вопроса возможность использования интерактивных запросов из браузера пользователя основанных на применение транспортных элементов вида Iframe/AJAX - в таком случае обеспечение передачи целевого запроса производится в фоновом режиме и не может быть в явном виде обновлено пользователем


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 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