我的网站上有各种指向特定表单的链接。
每当有人填写表单时,我希望能够知道哪些链接将他们带到表单中。
我想这样做而不必为我在其中创建的每个链接创建单独的PHP代码行。相反,我希望有一些PHP代码从该链接中获取内容,并且可能将其插入到隐藏文本框中,该文本框从我在链接中标记的内容中获取其值或文本。
例如:
我希望它能够处理我发送的电子邮件中的链接。
答案 0 :(得分:0)
您可以使用HTTP Referer来实现此目的。在PHP中,您可以使用
$referer = $_SERVER['HTTP_REFERER']
答案 1 :(得分:0)
以此为例:
if (isset($_SERVER['HTTP_REFERER']))
{
$ref = $_SERVER['HTTP_REFERER'];
}
然后在你的表格中:
<input type="hidden" value="<?php echo htmlspecialchars($ref, ENT_QUOTES); ?>" name="ref" />
答案 2 :(得分:0)
根据帖子中的信息,听起来您只想发送一个令牌/ ID。
<a href="form.php?token=xxx">Goto Form</a>
现在,您可以在表单上获取令牌:
$token = $_GET['token']; // use proper testing first
然后使用switch
或if
语句运行您需要的任何代码。
<input type="hidden" value="<?php echo $token; ?>">
其他强>
正如//use proper testing first
注释所示,您应确保传递的令牌有效并在发生攻击时进行清理。一种选择是在生成时将令牌存储在数据库中,然后在验证时进行比较。另请查看htmlspecialchars()
甚至strip_tags()
进行消毒。
如果令牌无法验证,则不应输出,甚至应该发出警告消息/重定向错误。