Автоматический возврат на страницу результатов после отправки

Я хочу знать, как я могу вернуться на предыдущую страницу...

Я нахожусь на странице результатов поиска, где много результатов. Для каждого результата есть опция, такая как "EMAIL ME".

Когда пользователь нажимает на нее, открывается форма "толстый ящик", в которой пользователь должен указать свое имя и идентификатор электронной почты. Когда пользователь нажимает кнопку "отправить для отправки формы", в нашей базе данных делается запись, и пользователю отправляется электронное письмо через его / ее идентификатор электронной почты.

Проблема в том, что после отправки формы я хочу перенаправить пользователя на страницу результатов поиска, где у пользователя есть возможность отправить электронное письмо обратно.

3 ответа

Решение

Вы можете использовать Ajax для отправки формы, а затем просто закрыть Thickbox. Если Ajax не является опцией, вы также можете перенаправить пользователя на предыдущую страницу, используя URL-адрес реферера.

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

Обновить:

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

В форме Thickbox добавьте скрытый элемент с URL. Это можно сделать с помощью JavaScript или PHP.

Тогда вместо использования HTTP_REFERER используйте имя скрытого элемента.

Форма: <input type='hidden' name='searchUrl' value='http://the.search.url' />

PHP: header("Location: ".$_REQUEST["searchUrl"]);

Запомните последнее местоположение в сеансе и перенаправьте в него заголовок Location.

Добавьте следующий код на страницу, которую вы хотите вернуть =>

<?php
   session_start();
   $_SESSION["addresser"]="home.php";
?>

Теперь добавьте следующий код на страницу, где у вас есть форма / или откуда вы хотите вернуть =>Сначала добавьте скрытое поле в форму =>

<input type="text" name="valid" hidden="hidden" readonly="readonly" value="true"/>

Теперь добавьте следующий php-код в начало этой страницы ==>

<?php
session_start();
$location=$_SESSION["addresser"];
if($_SESSION["validate"]="true"){
header("location: $location");}
?>

Также добавьте следующий код в файл php, куда отправляется форма....

<?php
$_SESSION["validate"]=$_POST["valid"];
?>
Другие вопросы по тегам