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]   

> Без описания
Dazar
Отправлено: 24 Августа, 2011 - 20:23:28
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Янв. 2011  


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




Какие есть варианты предотвращения ненужного обновления страницы? А то у меня на сайте есть страница, которая генерирует новый пароль пользователю и отправляет его на мыло, а если пользователь случайно обновит страницу у него будет новый пароль....
 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Августа, 2011 - 20:29:00
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




PHP:
скопировать код в буфер обмена
  1. header("Location: ".$_SERVER['PHP_SELF']);
  2. die();
 
 Top
Dazar
Отправлено: 24 Августа, 2011 - 20:34:51
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Янв. 2011  


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




Нда... Мне ещё учить и учить 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".
(Добавление)
Ничего не понимаю. Спасите))

(Отредактировано автором: 24 Августа, 2011 - 20:42:47)

 
 Top
LIME
Отправлено: 24 Августа, 2011 - 20:56:25
Post Id


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


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


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




Dazar когда на ваш скрипт от клиента приходят какието параметры он их обрабатывает
совершает какието действия (письмо с паролем шлет)
и и отправляет заголовок локэйшн (он указывает браузеру немедлено перейти по указаному адресу) на самого себя...но уже параметров не будет
потому обновление тоже не передает уже параметров
(Добавление)
стоит добавить что обновление страницы это отправка последнего запроса
включая все гет или пост параметры
 
 Top
Dazar
Отправлено: 24 Августа, 2011 - 21:02:02
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Янв. 2011  


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




Тоесть он выполняет скрипт а потом перебрасывается на себя без параметров, так?
 
 Top
LIME
Отправлено: 24 Августа, 2011 - 21:04:03
Post Id


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


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


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




да
поэтому последний запрос не включает параметров значит обновляй хоть до посинения
 
 Top
illy
Отправлено: 24 Августа, 2011 - 21:13:09
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


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




Dazar пишет:
die это умереть нах)

Ха-ха эт точно
а можно ещё die ('хватит обновлять меня');


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Августа, 2011 - 22:28:02
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




die(); оочень даже обязателен - а ну как вас с курла начнут шпарить,
а в нем есть флажочек "не хади по редиректам",
во красотишша будет - вы его редиректите, а он не хочит...

Так, мы и тут не дураки - сдохнем и все...
 
 Top
Dazar
Отправлено: 24 Августа, 2011 - 22:32:54
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Янв. 2011  


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




Ну я немножко по другому сделал. Я просто в сессию на этой странице добавляю заметку. А на другой странице очищаю
 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Августа, 2011 - 22:34:33
Post Id



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


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Ы теперь попробуйте понажимать историю назад. Что будет?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB