|
|
|
| Здравствуйте! Подскажите пожалуйста как этого избежать. Такая проблемя - я добавил новую запись в базу, после этого если нажать f5 добавляется еще одна запись проверка стоит -
if (isset($_POST['$addtov']))
|
| |
|
|
|
|
|
|
|
для: Mesm
(15.03.2006 в 21:31)
| | какая проверка стоит? при нажатии эф5 скрипт заново выполняется... и $_POST['$addtov'] опять существует...
а чтоб данные заново не заносились, нужно делать какую-то проверку другую... например занести в базу время добавления записи и ставить ограничение... типа низя заносить ничего в базу если время последней записи больше, чем (сейчас - х)...
или как-то еще... в таком роде :) | |
|
|
|
|
|
|
|
для: kasmanaft
(15.03.2006 в 21:39)
| | А можно поподробней, допустим если в phpmyadmin нажать f5 то он просто выкидывает, вот мне надо примерно тоже самое, или чтоб при нажатии F5 выполнялась какая-то функция. Просто когда оператор работает с БД ему будет очень неохота ждать скажем 10-15 секунд | |
|
|
|
|
|
|
|
для: Mesm
(15.03.2006 в 21:31)
| | Нужно в обработчике формы после того, как параметры будут из формы изъяты и учтены (в файлах, в кукисах, в БД, в сессионных переменных пр.), сделать header("Location: страница_ответа_на_заполненную_форму"); В самом обработчике в выходной поток ничего не выводить.
Суть этого приема - от метода POST перейти к методу GET. А его уже можно F5ить хоть до потери сил. | |
|
|
|
|
|
|
|
для: Trianon
(15.03.2006 в 21:57)
| | Нужно просто проверить последную добавленную строчку с той что хочет добавиться при нажатии F5. Если они идентичны то сделать просто перенаправление на главную страницу без добавления в базу :) Всё очень просто если логически подумать :) | |
|
|
|
|
|
|
|
для: midav
(15.03.2006 в 23:40)
| | А если заказчик захочет иметь возможность добавлять последовательно одинаковые строки?
Лечить нужно больного, а не болезнь. | |
|
|
|
|
|
|
|
для: Trianon
(16.03.2006 в 01:35)
| | Я не думаю что такое будет, так как какой смысл добавлять одно и тоже сто раз. Это уже спам сщитается :) Тем более если будет хоть один лишний знак то сообщение добавиться, так как это уже будет сщитаться разницой :) | |
|
|
|
|
|
|
|
для: midav
(16.03.2006 в 14:16)
| | Сравнение с последней записью бессмысленно, так как до нажатия F5 параллельный пользователь может поюзать базу.
В даном случаи самый простой способ использовать:
echo "<meta http-equiv=refresh content=0 URL=$_SERVER[PHP_SELF]>"
|
То есть, после добавления записи в базу пользователь вернется обратно на ту страницу с которой был запущен сценарий. Естественно уже с "чистым" URL. | |
|
|
|