Php 如何将页面URL用作表单变量?

Php 如何将页面URL用作表单变量?,php,forms,url,Php,Forms,Url,我试图在表单提交中使用页面URL作为变量,这样我就可以将其写入数据库,并找出哪些页面会获得更多的列表注册。有什么简单的方法可以做到这一点吗?$\u服务器[“请求URI”] document.getElementById(“page_url”).value=location.href; 将$\u SERVER[“REQUEST\u URI”]的值放入原始表单中的隐藏输入中,以便您可以在表单处理脚本中检查它。理想情况下,如果每个表单链接到相同的解析页面,您有两个选项 $url = $_SERVER[

我试图在表单提交中使用页面URL作为变量,这样我就可以将其写入数据库,并找出哪些页面会获得更多的列表注册。有什么简单的方法可以做到这一点吗?

$\u服务器[“请求URI”]

document.getElementById(“page_url”).value=location.href;

将$\u SERVER[“REQUEST\u URI”]的值放入原始表单中的隐藏输入中,以便您可以在表单处理脚本中检查它。

理想情况下,如果每个表单链接到相同的解析页面,您有两个选项

$url = $_SERVER['HTTP_HOST'] . $_SERVER["REQUEST_URI"];
选项1:在每个表单页面上创建一个隐藏的表单变量,该变量通过静态输入或从Javascript或PHP记录页面的URL,这两者在前面的答案中都有详细说明

选项2:在解析页面上,使用$url=$\u服务器['HTTP\U主机']$_服务器[“REQUEST_URI”]获取指向解析页面的页面,并将其记录在数据库中


我可能会选择选项2,因为它更优雅,更容易修改,甚至可以让您知道用户是否试图将存储在硬盘上的副本注入表单。

没有javascript功能的人没有推荐人?好吧,我们不是在2000年,但这是一个可访问性缺陷,不是吗?$\u服务器[“HTTP\u REFERER”]可能不会一直工作,是的-我们不再是1999年-当用户进入页面锚定时,这将不起作用-然后一个锚定将添加到url,表单不会确认它。锚定仅在浏览器中使用,而不会在服务器中使用,因此,锚将不会显示。
$url = $_SERVER['HTTP_HOST'] . $_SERVER["REQUEST_URI"];