[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обнуление POST запроса
cptJack
Привет всем.
Есть .php файл, в котором описывается html форма.
Обработку запроса из формы и хочу сделать в том же самом .php файле.
Ниже описания формы включил код:

if(isset($_POST["save_button"]))
{
echo '<script text = "Javascript">alert("JKJKJ");</script>';
unset($_POST["save_button"]);
}


После нажатия на кнопку отправки формы, вылазит описанное сообщение javascript.
Но, при обновлении страницы, сообщение вылазит снова.
Написал строку
unset($_POST["save_button"]);
, но она не помогла.
Кто может, помогите пожалуйста.



Спустя 5 минут, 22 секунды (10.09.2012 - 19:37) inpost написал(а):
Перенаправление, редирект. Через
header("Location: url"); 
exit();

Спустя 3 минуты, 59 секунд (10.09.2012 - 19:41) cptJack написал(а):
Если использовать
header("Location: url"); 

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

Спустя 3 минуты, 39 секунд (10.09.2012 - 19:45) inpost написал(а):
Зачем нажимать f5? Ты говоришь про момент, когда неправильно заполненные данные? То нажимая F5 мы снова обновляем страницу с неправильно заполненными данными, поэтому это логично вывести ещё разок АЛЕРТ

Спустя 2 минуты, 25 секунд (10.09.2012 - 19:47) cptJack написал(а):
Согласен, такое обновление страницы в моем случае редкость.
На форме отображаются некоторые данные, которые можно изменить с помощью формы.
После нажатия кнопки отправки формы, данные обновляются в базе, вылазит сообщение об успешном или не успешном обновлении. Не хотел, чтобы при нажатии F5 снова появлялось это сообщение.

Практической нагрузки мой вопрос не несет, хочется понять, да и интересно, как можно решить данную проблему.

Спустя 3 минуты, 18 секунд (10.09.2012 - 19:51) inpost написал(а):
Вот я же говорю, появилось сообщение об успешном обновлении, теперь после обновления форма должна быть пустой, зачем её заполнять какими-то данными!
Сделал переадресацию, сообщение об успехе добавил в сессию, на новой странице вывел сессию и тут же её убил! В таком случае надпись появится лишь 1 раз после переадресации. При этом POST будет очищен.

Спустя 15 минут, 22 секунды (10.09.2012 - 20:06) cptJack написал(а):
Еще вопрос - если делать с помощью header перенаправление на ту же страницу, то он требует, чтобы на странице не было выводов ДО него, а у меня выводится целая html форма и описание функций javascript.

Как можно поступить в такой ситуации?

Спустя 7 минут, 40 секунд (10.09.2012 - 20:14) inpost написал(а):
Поменять логику. Обработка входящих данных должна до вывода информации на экран быть. Местами меняй код.

Спустя 14 минут, 21 секунда (10.09.2012 - 20:28) cptJack написал(а):
Хм. Действительно, просто переставил код обновления в начало страницы и все.
Но, почему-то при таком коде:

if($result)
{
echo '<script text = "javascript">alert("Обновление прошло успешно");</script>';
header("Location: any_url.php");
exit;
}

, не срабатывает

echo '<script text = "javascript">alert("Обновление прошло успешно");</script>';


То есть страница обновляется, но перед этим не выводится сообщение с помощью метода alert(). Но вот я засомневался, если сообщение будет выводиться, получается header снова не сработает.

Спустя 12 минут (10.09.2012 - 20:40) cptJack написал(а):
Все, разрулился, передаю в header параметр, который отвечает за выводимое сообщение в alert и его проверяю в конце .php файла, сообщение и выводится.

Спустя 32 секунды (10.09.2012 - 20:41) cptJack написал(а):
inpost, спасибо за внимание. +
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.