【发布时间】:2013-12-28 09:20:45
【问题描述】:
我有一个 HTML 表单,它设置为允许用户将我网站上的页面报告给版主。在表单中,有一个字段请求要报告的页面的 URL。
每个页面的底部都有一个指向报告表单的链接,并且希望我可以在用户单击链接访问表单之前使用用户所在页面的 URL 预先填写该字段。
谁能帮帮我? 谢谢!
【问题讨论】:
-
请同时出示您的代码
我有一个 HTML 表单,它设置为允许用户将我网站上的页面报告给版主。在表单中,有一个字段请求要报告的页面的 URL。
每个页面的底部都有一个指向报告表单的链接,并且希望我可以在用户单击链接访问表单之前使用用户所在页面的 URL 预先填写该字段。
谁能帮帮我? 谢谢!
【问题讨论】:
您可能正在寻找类似的东西:
<input type="text" value="<?php=$_SERVER["HTTP_REFERER"] ?>" />
虽然这是对所提问题的正确答案,但@quasivivo 还针对您的问题发布了更可靠的解决方案。
【讨论】:
您可以使用 $_SERVER['HTTP_REFERER'] 但您可以对其进行修改,使其无法真正被信任。
更多信息here
【讨论】:
您可以更改链接以在 GET 流中传递 REQUEST_URI:
<a href="report.php?url=<?php echo urlencode($_SERVER['REQUEST_URI']) ?>">Report this URL</a>
然后将该“url”值添加到您的表单页面(我称之为report.php):
<input type="text" name="url" value="<?php echo htmlentities(urldecode($_GET['url'])); ?>" />
【讨论】:
$_SERVER['HTTP_REFERER'] 更好。后者可以被禁用或伪造。
您可以在您的链接中添加额外的信息,或者只是通过 php 获取引荐来源网址。 这是第二个选项的示例,它更容易。
<?php
echo '<input type="text" disabled value="' . $_SERVER["HTTP_REFERER"] . '" />';
?>
【讨论】:
在javascript中你可以这样做:
$(document).ready(function() {
last_page = document.referrer;
});
编辑:确实...我现在看到这是重复的:getting last page URL from history object - cross browser?
【讨论】: