X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Очистка POST данных в браузере
andreykashops
andreykashops
Topic Starter сообщение 2.7.2014, 23:51; Ответить: andreykashops
Сообщение #1


День добрый!

Подскажите пожалуйста, как можно удалить POST данные с браузера? Например когда пользователь отправил форму, скрипт сделал свое дело, теперь если он обновит форму - POST данные снова отправятся, как можно этого избежать без
Код
header("Location: /");
?


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Rombi
Rombi
сообщение 3.7.2014, 1:33; Ответить: Rombi
Сообщение #2


Можно сделать защиту через токены.
Сначала в сессию записываем токен в виде какого-нить числа, потом в форму добавляем input type="hidden" со значением этого токена.
Потом делаем проверку если isset($_POST["submit"])
Код
if ($_POST["token"] != $_SESSION["token"]) {
$errors[] = "Сработала защита от спама";
}


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Tollun
Tollun
сообщение 3.7.2014, 6:49; Ответить: Tollun
Сообщение #3


а не, потёрто...
лучше и проще редирект

Сообщение отредактировал Tollun - 3.7.2014, 6:51


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 3.7.2014, 9:47; Ответить: x64
Сообщение #4


да вроде и нет других способов.
редирект — вполне легитимная и повсеместно используемая фича, и ничего страшного, если в ответ на отсыл формы браузер получит редирект и проследует по нему.
ежели стоит вопрос в том, чтобы пользователь не мог насиловать форму посредством бесконечных F5 → Enter, то можно либо капчу использовать, либо нечто подобное, предложенное Rombi.

как вариант — работать без перезагрузки страницы. для простых форм в jQuery есть функция serialize(). соответственно, после отсылки можно форму навернуть и заместо неё написать текст об успешной приёмке данных :D


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andreykashops
andreykashops
Topic Starter сообщение 3.7.2014, 12:12; Ответить: andreykashops
Сообщение #5


Цитата(x64 @ 3.7.2014, 7:47) *
редирект — вполне легитимная и повсеместно используемая фича, и ничего страшного, если в ответ на отсыл формы браузер получит редирект и проследует по нему.

Оно то так, но допустим мне нужно выдать результат обработки формы пользователю, и тогда приходится "выворачиваться".

Согласен, хорошее решение предложил Rombi.


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Sanasol
Sanasol
сообщение 4.7.2014, 14:11; Ответить: Sanasol
Сообщение #6


andreykashops,

А в чем проблема-то выдачи по редиректу?


https://gist.github.com/S-anasol/04c934685f9cb125fd3e

как-то так

ну и header("Location: /?deleted или saved или created");
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
serpseeker
serpseeker
сообщение 4.7.2014, 14:35; Ответить: serpseeker
Сообщение #7


Sanasol, тогда уж лучше реализовать систему флеш сообщений по типу Flash::set($category, $message).
При редиректе пишем сообщение в сессию, на следующей странице выводим и сразу удаляем.
Такое универсальное средство для передачи инфы между страницами.
Реализовано во многих популярных framework-ах.

Сообщение отредактировал serpseeker - 4.7.2014, 14:35
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Sanasol
Sanasol
сообщение 4.7.2014, 15:06; Ответить: Sanasol
Сообщение #8


serpseeker,

Тоже самое почти, только упрощенный вариант
в том же wordpressе очень хорошо используется, да и вконтакте например :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
serpseeker
serpseeker
сообщение 4.7.2014, 15:19; Ответить: serpseeker
Сообщение #9


Sanasol, да, но во влешах можно передавать любые типы данных, в вашем варианте только строки и числа.
Один раз накодить и потом всю жизнь радоваться универсальности этого подхода.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andreykashops
andreykashops
Topic Starter сообщение 4.7.2014, 20:16; Ответить: andreykashops
Сообщение #10


Я делал через куки: вначале записывал JSON с данными, обновлял страницу, получал куки и сносил их.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Страничка с запросом custom-post'ов и полей ACF
есть база игр в WP + ACF, хочу получить календарь релизов.
0 coremission 374 8.10.2021, 19:25
автор: coremission
Открытая тема (нет новых ответов) Автоматизация работы в браузере (BAS)
8 Moonsoon 4863 1.9.2021, 12:39
автор: Moonsoon
Открытая тема (нет новых ответов) Базы данных, различной тематики, выкладываем тут.
Делимся, обмениваемся, заказываем, парсим.
9 InfoObmen 7501 10.7.2021, 23:22
автор: Wachowski
Открытая тема (нет новых ответов) Интеграция спортивных данных API. Коэффициенты БК, Live результаты
7 yaroslav89 1864 18.2.2021, 13:10
автор: yaroslav89
Открытая тема (нет новых ответов) ZennoPoster-услуги по написанию ботов, автоматизация работы в браузере. Сбор любых баз.
ZennoPoster-услуги по написанию шаблонов
0 Progernaut 503 13.11.2020, 20:20
автор: Progernaut


 



RSS Текстовая версия Сейчас: 16.10.2021, 21:42
Дизайн