我正在使用一个表格来“评价”一个页面。此表单将数据“发布”到别处的 php 脚本。我只是想在处理表单后显示一个链接,这将使用户返回上一页。我可以在我的 php 脚本中使用 javascript 来做到这一点吗?
GF
我正在使用一个表格来“评价”一个页面。此表单将数据“发布”到别处的 php 脚本。我只是想在处理表单后显示一个链接,这将使用户返回上一页。我可以在我的 php 脚本中使用 javascript 来做到这一点吗?
GF
您可以使用链接history.go(-1)
在 Javascript 中调用,这本质上等同于单击“后退”按钮。然而,理想情况下,最好只创建一个指向 URL 的链接,从那里将用户发布到表单 - 这样就可以保留正确的历史“流程”,并且用户不会想知道为什么他们有一些东西单击“转发”实际上只是再次提交表单。
试试这个:
$previous = "javascript:history.go(-1)";
if(isset($_SERVER['HTTP_REFERER'])) {
$previous = $_SERVER['HTTP_REFERER'];
}
在 html 中:
<a href="<?= $previous ?>">Back</a>
JavaScript 代码被初始化为HTTP_REFERER
变量的后备有时不起作用。
取决于你试图用什么来做。你可以使用这样的东西:
echo "<a href=\"javascript:history.go(-1)\">GO BACK</a>";
这是最简单的选择。另一张海报关于拥有适当的历史流程是正确的,但这是你的一个例子。
刚刚编辑,原始版本没有缩进,看起来什么都没有。;)
您特别要求 JS 解决方案,但如果有人在禁用 JS 的情况下访问您的表单,PHP 备份总是很好的:
当表单加载时,通过类似的方式获取上一页地址$previous = $_SERVER['HTTP_REFERER'];
,然后<input type="hidden" value="$previous" />
在表单中将其设置为 a 。当您使用脚本处理表单时,您可以获取该值并将其粘贴在header("Location:___")
或将地址直接粘贴到链接中以将它们发送回它们的来源
没有 JS,非常简单,您可以对其进行结构化,以便仅在客户端未启用 JS 时才处理它。
像这样:
<?php
if (isset($_SERVER["HTTP_REFERER"])) {
header("Location: " . $_SERVER["HTTP_REFERER"]);
}
?>