提交后自动返回结果页面


Automatic return to the result page after submitting

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

我在搜索结果页面上,那里有很多结果。对于每个结果,都有一个选项,例如"给我发电子邮件"。

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

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

您可以使用 Ajax 进行表单提交,然后关闭 Thickbox。如果 Ajax 不是一个选项,您还可以使用引荐来源网址将用户重定向到上一页。

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

更新:

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

在"厚箱"窗体中,添加带有 URL 的隐藏元素。这可以通过JavaScript或PHP来完成。

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

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

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

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

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

<?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"];
?>