我想知道如何返回上一页......
我在搜索结果页面上,其中存在许多结果。对于每个结果,都有一个选项,例如“EMAIL ME”。
当用户点击它时,会打开一个厚盒表格,要求用户提供他的姓名和名字。电子邮件ID。当用户点击“发送提交表单”时,我们的数据库中会生成一个条目,并通过他/她的电子邮件ID向用户发送电子邮件。
问题是,在提交表单后,我想将用户重定向到搜索结果页面,用户可以选择发送回电子邮件。
答案 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"];
?>