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
Форумы портала PHP.SU :: Версия для печати :: Защита от обновления страницы
Форумы портала PHP.SU » » Хранение данных, их вывод и обработка » Защита от обновления страницы

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

1. Dazar - 24 Августа, 2011 - 20:23:28 - перейти к сообщению
Какие есть варианты предотвращения ненужного обновления страницы? А то у меня на сайте есть страница, которая генерирует новый пароль пользователю и отправляет его на мыло, а если пользователь случайно обновит страницу у него будет новый пароль....
2. DeepVarvar - 24 Августа, 2011 - 20:29:00 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. header("Location: ".$_SERVER['PHP_SELF']);
  2. die();
3. Dazar - 24 Августа, 2011 - 20:34:51 - перейти к сообщению
Нда... Мне ещё учить и учить php... Кто объяснит этот страшный код? Я только знаю что header это заголовки и die это умереть нах)

Ага. Location это браузер должен перебрасываться в агрумент этой функции, гуглим дальше....

Элемент $_SERVER['PHP_SELF']

В элемент $_SERVER['PHP_SELF'] помещается имя скрипта, начиная от корневой директории виртуального хоста, т.е. если строка запроса представляет собой адрес

http://www[dot]mysite[dot]ru/test/index[dot][dot][dot][dot]amp;id_theme=512

то элемент $_SERVER['PHP_SELF'] будет содержать фрагмент "/test/index.php".
(Добавление)
Ничего не понимаю. Спасите))
4. LIME - 24 Августа, 2011 - 20:56:25 - перейти к сообщению
Dazar когда на ваш скрипт от клиента приходят какието параметры он их обрабатывает
совершает какието действия (письмо с паролем шлет)
и и отправляет заголовок локэйшн (он указывает браузеру немедлено перейти по указаному адресу) на самого себя...но уже параметров не будет
потому обновление тоже не передает уже параметров
(Добавление)
стоит добавить что обновление страницы это отправка последнего запроса
включая все гет или пост параметры
5. Dazar - 24 Августа, 2011 - 21:02:02 - перейти к сообщению
Тоесть он выполняет скрипт а потом перебрасывается на себя без параметров, так?
6. LIME - 24 Августа, 2011 - 21:04:03 - перейти к сообщению
да
поэтому последний запрос не включает параметров значит обновляй хоть до посинения
7. illy - 24 Августа, 2011 - 21:13:09 - перейти к сообщению
Dazar пишет:
die это умереть нах)

Ха-ха эт точно
а можно ещё die ('хватит обновлять меня');
8. DeepVarvar - 24 Августа, 2011 - 22:28:02 - перейти к сообщению
die(); оочень даже обязателен - а ну как вас с курла начнут шпарить,
а в нем есть флажочек "не хади по редиректам",
во красотишша будет - вы его редиректите, а он не хочит...

Так, мы и тут не дураки - сдохнем и все...
9. Dazar - 24 Августа, 2011 - 22:32:54 - перейти к сообщению
Ну я немножко по другому сделал. Я просто в сессию на этой странице добавляю заметку. А на другой странице очищаю
10. DeepVarvar - 24 Августа, 2011 - 22:34:33 - перейти к сообщению
Ы теперь попробуйте понажимать историю назад. Что будет?

 

Powered by ExBB FM 1.0 RC1