1

我想知道如何返回上一页...

我在存在许多结果的搜索结果页面上。对于每个结果,都有一个选项,例如“EMAIL ME”。

当用户点击它时,会打开一个厚框表单,用户需要在其中提供他的姓名和电子邮件 ID。当用户单击“发送以提交表单”时,会在我们的数据库中创建一个条目,并通过他/她的电子邮件 ID 向用户发送一封电子邮件。

问题是,在提交表单后,我想将用户重定向到搜索结果页面,用户可以选择发回电子邮件。

4

3 回答 3

5

您可以使用 Ajax 提交表单,然后关闭厚框。如果 Ajax 不是一个选项,您还可以使用引用 URL 将用户重定向到上一页。

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

更新:

由于某些浏览器有时不提供引荐来源网址,因此上述方法不起作用。一种解决方法是让Thickbox 中的表单提供搜索页面的URL,然后可以使用该URL 进行重定向。

在Thickbox 表单中,添加一个带有URL 的隐藏元素。这可以通过 JavaScript 或 PHP 来完成。

然后不使用 HTTP_REFERER,而是使用隐藏元素的名称。

形式:<input type='hidden' name='searchUrl' value='http://the.search.url' />

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

于 2012-05-31T06:13:50.387 回答
1

记住会话的最后一个位置,并使用 Location 标头重定向到它。

于 2012-05-31T06:11:20.713 回答
0

将以下代码添加到您要返回的页面=>

<?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");}
?>

Also Add following code to the php file where form is submitted....

<?php
$_SESSION["validate"]=$_POST["valid"];
?>
于 2013-02-10T06:03:36.290 回答