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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Интеграция спортивных данных API. Коэффициенты БК, Live результаты
14 yaroslav89 6628 13.3.2024, 23:16
автор: spoyer_ru
Открытая тема (нет новых ответов) ГОРЯЧИЕ FOREX|CRYPTO ЛИДЫ. БАЗЫ ДАННЫХ
[Чарджбек|Рекавери|Возврат]
9 Leado 3801 9.2.2024, 16:04
автор: baza0013
Открытая тема (нет новых ответов) Не открывается maultalk.com в браузере Хром
4 noviktamw 1862 18.1.2024, 6:23
автор: Skyworker
Открытая тема (нет новых ответов) Автоматизация работы в браузере (BAS)
11 Moonsoon 7350 11.4.2023, 6:23
автор: Skyworker
Открытая тема (нет новых ответов) Базы данных, различной тематики, выкладываем тут.
Делимся, обмениваемся, заказываем, парсим.
12 InfoObmen 15182 4.9.2022, 2:32
автор: Галецкая


 



RSS Текстовая версия Сейчас: 29.3.2024, 1:04
Дизайн