Мне нужно как-то очистить $_POST, чтобы на странице сохранилась выведенная строка $flow... Как это можно реализовать? Передавать скрипту REQUEST_URI постом или гетом значение переменной $flow? Как лучше это реализовать?
Zuldek
Отправлено: 14 Декабря, 2011 - 09:01:59
Постоянный участник
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
POST "очищается" обновлением страницы. Нужные параметры сохраняйте хоть в GET, хоть дописывайте в сессию, — как удобнее.
Dezmont
Отправлено: 14 Декабря, 2011 - 09:04:56
Частый гость
Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010
Помог: 1 раз(а)
А кроме обновления других вариантов "очистки" больше нет? Ну и редиректа на другую страницу.... Просто тупо удалить определённые ячейки массива?
Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011 Откуда: Одесса, Украина
Помог: 131 раз(а)
а ничего что при обновлении браузеры обычно повторно отправляют данные гет/пост?
----- Just do it
Zuldek
Отправлено: 14 Декабря, 2011 - 09:12:57
Постоянный участник
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
Dezmont пишет:
А кроме обновления других вариантов "очистки" больше нет?
Ключ в понимании работы POST.
Браузер по кнопке F5 начнет заново формировать последний запрос в истории, то есть снова отправлять вашему обработчику данные из POST. Потому "очистка" данных у себя ничего не даст.
Для этого применяется редирект с передачей браузеру пользователя нового заголовка (запроса).
После этого браузер пользователя при обновлении страницы будет отправлять запрос http://www.some.ru/some.php.
Pimpys
Отправлено: 14 Декабря, 2011 - 09:13:09
Новичок
Покинул форум
Сообщений всего: 28
Дата рег-ции: Нояб. 2011 Откуда: Украина, Киев
Помог: 0 раз(а)
Panoptik пишет:
а ничего что при обновлении браузеры обычно повторно отправляют данные гет/пост?
Так как я написал, оно обновит и сбросит 100%
Не ну по $_SERVER['PHP_SELF'] может и нет я не проверял, и он был для примера
Можно Урл какойто на туже стр например.
Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011 Откуда: Одесса, Украина
Помог: 131 раз(а)
да, конечно. не заметил хедер
----- Just do it
Данил_123
Отправлено: 14 Декабря, 2011 - 09:21:57
Участник
Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011 Откуда: rostov
Помог: 9 раз(а)
$_POST[var] = null;
----- http://mysitecost.ru
Dezmont
Отправлено: 14 Декабря, 2011 - 09:25:33
Частый гость
Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010
Помог: 1 раз(а)
Zuldek, а в чём суть принципа работы заголовка Location? PHP посылает только этот заголовок серверу, игнорируя всё остальное? Или есть приоритет заголовков?
З.Ы. И заодно не скажете, что при нажатии на кнопку "НАЗАД" в браузере происходит? Принцип её работы. )))
Или просто пошлите куда-нить читать, если есть какой-нибудь конкретный ресурс...
Panoptik
Отправлено: 14 Декабря, 2011 - 09:27:33
Постоянный участник
Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011 Откуда: Одесса, Украина
Помог: 131 раз(а)
при нажатии назад браузер будет посылать ту же информацию, которая отправлялась на той странице
по идее когда браузер видит заголовок локейшн, то ему уже всё равно на остальные данные, потому что у него прямое задание идти по указанному адресу
----- Just do it
Dezmont
Отправлено: 14 Декабря, 2011 - 09:27:55
Частый гость
Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010
Помог: 1 раз(а)
Данил_123 пишет:
$_POST[var] = null;
var эт типа ключ массива? Просто если так, то ячейка то всё равно будет существовать, просто со значением NULL... (Добавление)
Panoptik пишет:
при нажатии назад браузер будет посылать ту же информацию, которая отправлялась на той странице
по идее когда браузер видит заголовок локейшн, то ему уже всё равно на остальные данные, потому что у него прямое задание идти по указанному адресу
Т.е. он сохраняет предыдущий набор http заголовков и посылает их серверу? Что-то тут не то, потому что опять ведь должен ПОСТ отправляться...
Данил_123
Отправлено: 14 Декабря, 2011 - 09:33:42
Участник
Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011 Откуда: rostov
Помог: 9 раз(а)
Dezmont да, допишешь в конце кода.. Нул это не строка, а 0 байтовое значение.. Думаю ведь проверки будут проверки на еmpty.. Значит все будет работать
----- http://mysitecost.ru
Panoptik
Отправлено: 14 Декабря, 2011 - 09:34:39
Постоянный участник
Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011 Откуда: Одесса, Украина
Помог: 131 раз(а)
Dezmont пишет:
Т.е. он сохраняет предыдущий набор http заголовков и посылает их серверу? Что-то тут не то, потому что опять ведь должен ПОСТ отправляться...
в данном случае пост и отправиться. это аналогично с гетом, когда вы переходите по ссылке с параметрами у вас уже существует гет, почему тогда браузер не может хранить пост данные?
Цитата:
$_POST[var] = null;
тут должно больше помочь unset($_POST[var])
----- Just do it
Dezmont
Отправлено: 14 Декабря, 2011 - 09:41:12
Частый гость
Покинул форум
Сообщений всего: 245
Дата рег-ции: Июль 2010
Помог: 1 раз(а)
Panoptik пишет:
в данном случае пост и отправиться. это аналогично с гетом, когда вы переходите по ссылке с параметрами у вас уже существует гет, почему тогда браузер не может хранить пост данные?
Ну тогда он их не отправляет, а хранит и тупо выводит? Ведь когда нажимаешь "назад", то форма повторно не отправляется... Браузер обычно вставляет данные, которые пользователь ввёл в <input> в поля формы.
Panoptik пишет:
тут должно больше помочь unset($_POST[var])
Ну да... Но эт я не то спросил. Мне т нужно было избавиться от повторной отправки и самого сообщения.
Буду редиректить лучше, а то чувствую куда-то не туда вообще полез)) (Добавление)
Спасибо большое... Буду читать про принцип работы браузеров)))
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.