提交后自动返回结果页面

时间:2012-05-31 06:09:08

标签: html email thickbox php

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

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

当用户点击它时,会打开一个厚盒表格,要求用户提供他的姓名和名字。电子邮件ID。当用户点击“发送提交表单”时,我们的数据库中会生成一个条目,并通过他/她的电子邮件ID向用户发送电子邮件。

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

3 个答案:

答案 0 :(得分:5)

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

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

更新

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

在“厚箱”表单中,添加带有URL的隐藏元素。这可以使用JavaScript或PHP来完成。

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

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

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

现在将以下代码添加到您拥有表单的页面/或您要返回的页面=&gt; 首先在表单中添加一个隐藏字段=&gt;

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

现在将以下php代码添加到此页顶部==&gt;

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

还将以下代码添加到提交表单的php文件中....

<?php
$_SESSION["validate"]=$_POST["valid"];
?>