Get php перезагрузить страницу

Перезапрос страницы методом GET

Добрый день! Сейчас погружен в учебный процесс и появился вопрос — есть форма отправляющаяся методом пост, а мне нужно в случае запроса страницы посредством ее обновления (F5) она запрашивалась методом гет. Все это для избежания дубликатов данных из формы в базе данных, по сути скрипт работает, но с одной лишь проблемой он — перенаправляет на главную страницу. Для решения задачи в случае выполнения условия я посылаю заголовок

header("Location: " . $_SERVER["PHP_SELF"]);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
 $connect = mysqli_connect('localhost','root','','gbook') or die(mysqli_error()); mysqli_query($connect,"SET NAMES 'utf8'") if(!empty($_POST['name']) and !empty($_POST['email']) and !empty($_POST['msg'])){ $name = $_POST['name']; $email = $_POST['email']; $msg = $_POST['msg']; $sql = "INSERT INTO msgs (name,email,msg) VALUES('$name','$email','$msg')"; if($query = mysqli_query($connect,$sql)) echo "

Ваш отзыв добавлен, спасибо!

"
; else echo "

Ваш отзыв не добавлен!

"
; header("Location: " . $_SERVER["PHP_SELF"]); } ?>

Перезапрос ввода переменных
Не могу никак сделать цикл do while для пере запроса ввода переменной. Мне нужно что бы когда я.

Получение методом GET содержимое страницы
Здравствуйте надо на с# получить содержимое страницы http://site.ru/file.php Содержимое страницы.

Передача методом Post без перезагрузки страницы
Всем привет ! Написал обработчик через ajax post запрос, чтоб он обновлял данные формы без.

ЦитатаСообщение от Андрей Бойченко Посмотреть сообщение

pav1uxa, даже поставив все выводы после того как посылаю заголовок переадрессация идет на главную страницу

ЦитатаСообщение от Андрей Бойченко Посмотреть сообщение

header("Location: " . $_SERVER["REQUEST_URI"]);

Во избежание дубликатов заведите капчу. А вообще нормальные браузеры при обновлении формы, полученной методом POST, спрашивают, нужно ли отправлять данные повторно или нет.

ЦитатаСообщение от miketomlin Посмотреть сообщение

А вообще нормальные браузеры при обновлении формы, полученной методом POST, спрашивают, нужно ли отправлять данные повторно или нет.

А нормальные программисты пишут так, чтобы нормальные браузеры не задавали нормальным пользователям лишние вопросы.

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

miketomlin, pav1uxa, если есть более корректные способы реализации моей задачи то подскажите пожалуйста или укажите в какую сторону смотреть. Я настроен на максимальное юзабилити и не возьмусь за разработку реального заказа пока не буду делать 100% удобные и качественные продукты)

ОК, в двух словах. Как вам в самом начале сказал pav1uxa, нужно делать либо перенаправление, либо вывод контента. Насколько я понял из ваших слов, у вас страница формы и страница результата объединены. К тому же вы используете перенаправление. При таком подходе вам необходимо как-то сообщать вашей странице, когда нужно выводить подтверждение (результирующее сообщение), а когда нет. Для этого обычно используют либо куки, либо чисто формально разделяют страницу формы и страницу результата, используя для перенаправления доп. адрес(а) (я, например, когда использую данный подход, при перенаправлении добавляю к адресу страницы параметр ?p=1 – мне обычно достаточно только одного доп. адреса, т.к. при ошибках я практически всегда использую традиционный подход с непосредственным выводом формы и восстановлением введенных пользователем значений полей). При перенаправлении на страницу результата лучше использовать 303-е перенаправление. Спеки говорят, что оно предназначено именно для этой цели, т.е. чтобы попросить клиент в данной ситуации сделать именно GET-запрос.

Источник

Обновить страницу с помощью JS / HTML / PHP

JS -метод location.reload() перезагружает текущую вкладку браузера и действует также как кнопка «Обновить страницу».

Пример перезагрузки страницы кликом на ссылку или кнопку:

Цикличное обновление страницы с задержкой

В коде используется тот же location.reload() выполняемый с задержкой setTimeout() в тридцать секунд.

Перезагрузка страницы с задержкой

В случаях когда после клика на кнопку или ссылку нужно перезагрузить страницу с задержкой, например две секунды:

 Обновить страницу через 2 секунды  

Пример:

Перезагрузка страницы с подтверждением

Чтобы пользователь мог подтвердить действие, можно применить метод вызова диалогового сообщения confirm.

if (confirm('Вы действительно хотите обновить страницу?'))

Пример:

Обновление родительской страницы из IFrame

Для обращения к ресурсам родительской страницы из IFrame используется объект parent , подробнее в статье «Как обновить iframe».

Перезагрузка страницы с помощью HTML

Добавление мета-тега в страницы заставит её перезагрузится. Значение атрибута content больше нуля задает задержку в секундах.

Перезагрузка страницы из PHP

Обновить страницу прямо с сервера можно c помощью функции header() , отправив заголовок « Refresh: 5 », где значение «5» указывает интервал в пять секунд.

Важно, чтобы перед вызовом функции не было отправки контента в браузер, например echo .

Источник

Перезапрос страницы методом GET

Добрый день! Сейчас погружен в учебный процесс и появился вопрос — есть форма отправляющаяся методом пост, а мне нужно в случае запроса страницы посредством ее обновления (F5) она запрашивалась методом гет. Все это для избежания дубликатов данных из формы в базе данных, по сути скрипт работает, но с одной лишь проблемой он — перенаправляет на главную страницу. Для решения задачи в случае выполнения условия я посылаю заголовок

header("Location: " . $_SERVER["PHP_SELF"]);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
 $connect = mysqli_connect('localhost','root','','gbook') or die(mysqli_error()); mysqli_query($connect,"SET NAMES 'utf8'") if(!empty($_POST['name']) and !empty($_POST['email']) and !empty($_POST['msg'])){ $name = $_POST['name']; $email = $_POST['email']; $msg = $_POST['msg']; $sql = "INSERT INTO msgs (name,email,msg) VALUES('$name','$email','$msg')"; if($query = mysqli_query($connect,$sql)) echo "

Ваш отзыв добавлен, спасибо!

"
; else echo "

Ваш отзыв не добавлен!

"
; header("Location: " . $_SERVER["PHP_SELF"]); } ?>

Перезапрос ввода переменных
Не могу никак сделать цикл do while для пере запроса ввода переменной. Мне нужно что бы когда я.

Получение методом GET содержимое страницы
Здравствуйте надо на с# получить содержимое страницы http://site.ru/file.php Содержимое страницы.

Передача методом Post без перезагрузки страницы
Всем привет ! Написал обработчик через ajax post запрос, чтоб он обновлял данные формы без.

ЦитатаСообщение от Андрей Бойченко Посмотреть сообщение

pav1uxa, даже поставив все выводы после того как посылаю заголовок переадрессация идет на главную страницу

ЦитатаСообщение от Андрей Бойченко Посмотреть сообщение

header("Location: " . $_SERVER["REQUEST_URI"]);

Во избежание дубликатов заведите капчу. А вообще нормальные браузеры при обновлении формы, полученной методом POST, спрашивают, нужно ли отправлять данные повторно или нет.

ЦитатаСообщение от miketomlin Посмотреть сообщение

А вообще нормальные браузеры при обновлении формы, полученной методом POST, спрашивают, нужно ли отправлять данные повторно или нет.

А нормальные программисты пишут так, чтобы нормальные браузеры не задавали нормальным пользователям лишние вопросы.

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

miketomlin, pav1uxa, если есть более корректные способы реализации моей задачи то подскажите пожалуйста или укажите в какую сторону смотреть. Я настроен на максимальное юзабилити и не возьмусь за разработку реального заказа пока не буду делать 100% удобные и качественные продукты)

ОК, в двух словах. Как вам в самом начале сказал pav1uxa, нужно делать либо перенаправление, либо вывод контента. Насколько я понял из ваших слов, у вас страница формы и страница результата объединены. К тому же вы используете перенаправление. При таком подходе вам необходимо как-то сообщать вашей странице, когда нужно выводить подтверждение (результирующее сообщение), а когда нет. Для этого обычно используют либо куки, либо чисто формально разделяют страницу формы и страницу результата, используя для перенаправления доп. адрес(а) (я, например, когда использую данный подход, при перенаправлении добавляю к адресу страницы параметр ?p=1 – мне обычно достаточно только одного доп. адреса, т.к. при ошибках я практически всегда использую традиционный подход с непосредственным выводом формы и восстановлением введенных пользователем значений полей). При перенаправлении на страницу результата лучше использовать 303-е перенаправление. Спеки говорят, что оно предназначено именно для этой цели, т.е. чтобы попросить клиент в данной ситуации сделать именно GET-запрос.

Источник

Как отправить через jquery ajax, get параметры?

powerdot

Мои коллеги говорят все верно, разберемся еще раз с запросом к серверу (к php-файлу):

jQuery.ajax() с GET-запросом можно заменить на jQuery.get()

Немного простой теории:
Когда Вы вручную пробуете организовать Get-запрос, то Вы просто в браузере запрашиваете ссылку со своими параметрами. Когда страница загрузилась — запрос к файлу выполнился.
mysite.ru/action.php?param=value

То есть, грубо говоря, чтобы скрипт выполнился, нужно просто запустить (задействовать) нужный файл. Что и делает Ajax. Он просто открывает (как Вы в браузере) эту страницу, но вы этого не видите.
Причем, он делает это асинхронно (код будет работать и дальше, не ожидая ответа), для чего нужны колбеки (функции, которые выполняются после успешного/неуспешного запроса).

//В этом случае просто выполнился скрипт $.get('http://mysite.ru/action.php'); //Параметры можно отправить как в ссылке, так и отдельно $.get('http://mysite.ru/action.php?param=1'); //или $.get('http://mysite.ru/action.php', ); //а что на счет колбеков? //они нужны, чтобы выполнить какой-либо код после выполнения запроса //ну, например, если после успешного запроса пишется "ok" в action.php $.get('http://mysite.ru/action.php', ).done(function(data) < //data - это аргумент, в который передается содержимое страницы if(data=="ok")< alert("Сервер всем доволен") >>);

Источник

Читайте также:  Как вернуть несколько значений функции php
Оцените статью