Есть .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 снова появлялось это сообщение.
Практической нагрузки мой вопрос не несет, хочется понять, да и интересно, как можно решить данную проблему.
На форме отображаются некоторые данные, которые можно изменить с помощью формы.
После нажатия кнопки отправки формы, данные обновляются в базе, вылазит сообщение об успешном или не успешном обновлении. Не хотел, чтобы при нажатии F5 снова появлялось это сообщение.
Практической нагрузки мой вопрос не несет, хочется понять, да и интересно, как можно решить данную проблему.
Спустя 3 минуты, 18 секунд (10.09.2012 - 19:51) inpost написал(а):
Вот я же говорю, появилось сообщение об успешном обновлении, теперь после обновления форма должна быть пустой, зачем её заполнять какими-то данными!
Сделал переадресацию, сообщение об успехе добавил в сессию, на новой странице вывел сессию и тут же её убил! В таком случае надпись появится лишь 1 раз после переадресации. При этом POST будет очищен.
Сделал переадресацию, сообщение об успехе добавил в сессию, на новой странице вывел сессию и тут же её убил! В таком случае надпись появится лишь 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 написал(а):
Хм. Действительно, просто переставил код обновления в начало страницы и все.
Но, почему-то при таком коде:
, не срабатывает
То есть страница обновляется, но перед этим не выводится сообщение с помощью метода alert(). Но вот я засомневался, если сообщение будет выводиться, получается header снова не сработает.
Но, почему-то при таком коде:
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, спасибо за внимание. +