![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| UnDead |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 8.6.2006 Репутация: нет Всего: нет |
Привет всем форумчанам.
Я недавно начал работать с php. Такая проблема возникла. Есть пхп скрипт с формой. Форма служит для добавления добавления сообщения в гостевую книгу. Значения из формы передаю этому же скрипту. Потом я обрабатываю эти значения и добавляю новое сообщение в гостевую книгу. Как мне скинуть значения этих переменных? Проблема в том что если обновить страницу нажать F5 то запись добавляется ещё раз, так как значения переменных не изменились. зы. если вопрос тупой, или это уже где то обсуждалось то сильно не карать |
|||
|
||||
| Photon |
|
|||
|
Злобный программер ![]() ![]() Профиль Группа: Участник Сообщений: 282 Регистрация: 27.2.2009 Где: Таганрог Репутация: 10 Всего: 12 |
UnDead, неправильно мыслите.
Запись добавляется еще раз потому, что при обновлении страницы повторно отправляются данные формы.. PHP-скрипт выполняется один раз и не хранит переменные между выполнениями (ну если не используются сессии или cookie) -------------------- With best regards.. |
|||
|
||||
| UnDead |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 8.6.2006 Репутация: нет Всего: нет |
Photon,
Дак в том и прикол. Я жму кнопку добавить сооьщение. Из формы передаются данные, скрипт их обрабатывает и добавляет сообщение в базу. Поля ввода все очищаются. Жму обновить и опять добавляется точно такое же сообщение. Причём переменная которая хранит значение нажатия кнопки тоже сохраняется. |
|||
|
||||
| Photon |
|
|||
|
Злобный программер ![]() ![]() Профиль Группа: Участник Сообщений: 282 Регистрация: 27.2.2009 Где: Таганрог Репутация: 10 Всего: 12 |
UnDead, абсолютно неважно, что поля формы очистились.. При обновлении страницы через F5 повторно отправляются уже отправленные данные формы.. Браузер помнит, что данная страница получилась в результате отправки данных формы и повторяет эту операцию..
-------------------- With best regards.. |
|||
|
||||
| UnDead |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 8.6.2006 Репутация: нет Всего: нет |
А как от этого избавится, если вообще это возможно?
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
редирект. можно - на ту же страницу.
т.к. редирект происходит с отправкой только GET-данных, то после редиректа обновление страницы в браузере не приведет к повторной отправке данных формы. |
|||
|
||||
| iAnthony |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 19.1.2009 Где: Moscow Репутация: нет Всего: нет |
Но если пользователь нажмет Back, то случится то, от чего пытались избавиться. Мне кажется лучше всего подойдут скрытые поля с рендомными значениями.
|
|||
|
||||
| getme |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 12.9.2008 Репутация: -2 Всего: -2 |
редирект это решение, работает без проблем
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |