|
|
|
| Снова прошу у вас совета.
Ситуация такая: Сделал на странице форму для добавления комментария и с помонью POST передаю текст комментария на этуже страницу. Вверху расположил функцию которая заносит комментарий в базу, если он есть конечно. Столкнулся с такой бедой, после добавления комментария обновляю страницу и он повторно добавляется. И так постоянно пока на другую страницу не уйду. Подскажите реально ли такое делать, или надо делать страницу обработчик? | |
|
|
|
|
|
|
|
для: Kaje
(05.09.2009 в 11:46)
| | реально.
Страница обработчиком быть не может по определению.
Обработчик - это скрипт - программа на языке php.
Страница - это результат работы скрипта(программы) . Этого или другого скрипта - несущественно.
Точнее, страница может быть получена (и в случае php почти всегда является полученной), как результат работы скрипта. | |
|
|
|
|
|
|
|
для: Trianon
(05.09.2009 в 12:55)
| | Мнебы узнать способ как можно опустошить переменные $_POST['comments'] и $_POST['id_guest']. Пытался прировнять нулю сразу после добавления либо unset() но всеравно эти штуки не могут одолеть могущественный refresh.
Знаю что подобное удобно делать на Ajax но желания не совпадает с возможностями. | |
|
|
|
|
|
|
|
для: Kaje
(05.09.2009 в 20:20)
| | >Мнебы узнать способ
Нет. Не способ.
Вам бы узнать принципы взаимодействия браузер-сервер.
Но Вы же ведь не хотите.
>как можно опустошить переменные
Любые переменные уничтожаются с последним исполненным оператором скрипта.
Именно по-этому нет смысла делать unset.
Если переменная возникла - значит значение из формы опять было серверу передано браузером. | |
|
|
|
|
|
|
|
для: Kaje
(05.09.2009 в 11:46)
| | <META HTTP-EQUIV="REFRESH" CONTENT="0;URL=адрес данной страницы">
этот код вставляете после того как выполнится скрипт (это HTML-тег, так что в РНР его надо помещать в echo) | |
|
|
|
|
|
|
|
для: DEM
(05.09.2009 в 15:02)
| | Не надо так делать. | |
|
|
|
|
|
|
|
для: Николай2357
(05.09.2009 в 16:16)
| | >Не надо так делать.
А почему так не надо делать? Объясните! | |
|
|
|
|
|
|
|
для: mehelson
(05.09.2009 в 23:23)
| | Kaje (05.09.2009 в 20:11)
>Не прокатывает такое дело. Страница безостановочно обновляется и комментарии летят как сумасшедшие. | |
|
|
|
|
|
|
|
для: DEM
(05.09.2009 в 15:02)
| | Не прокатывает такое дело. Страница безостановочно обновляется и комментарии летят как сумасшедшие. | |
|
|
|
|
|
|
|
для: Kaje
(05.09.2009 в 20:11)
| | Буду ждать от вас совета. А пока отстается надеятся что пользователя не будут обновлять страницу после добавления комментария. | |
|
|
|
|
|
|
|
для: Kaje
(05.09.2009 в 20:26)
| | header("location: /");
exit; | |
|
|
|
|
|
|
|
для: Вот случайно зашел
(05.09.2009 в 23:30)
| | Не выйдет. | |
|
|
|
|
|
|
|
для: Николай2357
(05.09.2009 в 23:31)
| | Что не выйдет? | |
|
|
|
|
|
|
|
для: Вот случайно зашел
(05.09.2009 в 23:35)
| | Сбросятся только первые переменные. Потом опять F5. | |
|
|
|
|
|
|
|
для: Николай2357
(05.09.2009 в 23:37)
| | Какие первые переменные? Что за бред. | |
|
|
|
|
|
|
|
для: Вот случайно зашел
(05.09.2009 в 23:39)
| | Автор похоже уже как два месяца бьётся над тем как сделать гостевую... Прискорбно... | |
|
|
|
|
|
|
|
для: Вот случайно зашел
(05.09.2009 в 23:44)
| | Какая гостевая. Яж говорю комментарии. Эх. Впервые вы мне нихто не помог. Возьму сегодня книжонку по Ajax и буду питать мозг. | |
|
|
|
|
|
|
|
для: Kaje
(06.09.2009 в 11:24)
| | как это не помог?
вам дали дельный совет: header("location: /"); | |
|
|
|
|
|
|
|
для: Kaje
(06.09.2009 в 11:24)
| |
if(!empty($_POST['add'])) //проверка на наличие нажатия кнопки отправки сообщения
{
Запросец на вставку данных
header("location: http://mysite.com");
}
|
| |
|
|
|
|
|
|
|
для: TetRiska
(07.09.2009 в 02:39)
| | Я сразу и не разглядел. Беру свои слова назад. Еще раз спосибо! Незнаю как но оно работает!!! | |
|
|
|
|
|
|
|
для: Kaje
(07.09.2009 в 05:05)
| | if($_POST['add']){}
exit('Всё отправленно ....'); | |
|
|
|
|
|
|
|
для: serjinio
(07.09.2009 в 08:52)
| | Да по-всякому можно делать. Можно, например, записать последнее сообщение в сессию и сравнивать его с вновь пришедшим. Если сообщения совпадают - завершать работу скрипта. Можно аналогично сравнивать значения переменных со значениями в базе... | |
|
|
|