0

我的网站上有各种指向特定表格的链接。

每当有人填写表格时,我希望能够知道是什么链接将他们引导至表格。

我想这样做,而不必为我在其中创建的每个链接创建单独的 PHP 代码行。相反,我希望有一些 PHP 代码从该链接中获取某些内容,并可能将其插入到隐藏的文本框中,该文本框从我在链接中标记的内容中获取其值或文本。

例如:

  1. 用户单击链接。
  2. 该链接将他们定向到表单。
  3. 该链接带有激活 PHP 代码的标识
  4. 当我收到表格时,我知道点击了哪个链接可以访问该表格。

我希望它也可以与我发送的电子邮件中的链接一起使用。

4

3 回答 3

0

您可以使用HTTP Referer来实现这一点。在 PHP 中,您可以使用

$referer = $_SERVER['HTTP_REFERER']
于 2013-03-01T15:08:58.573 回答
0

使用这个例如:

if (isset($_SERVER['HTTP_REFERER']))
{
    $ref = $_SERVER['HTTP_REFERER'];
}

然后在你的表格中:

<input type="hidden" value="<?php echo htmlspecialchars($ref, ENT_QUOTES); ?>" name="ref" />
于 2013-03-01T15:10:36.600 回答
0

根据您帖子中的信息,听起来您只想发送一个令牌/ ID。

<a href="form.php?token=xxx">Goto Form</a>

现在在表单上,​​您可以获取令牌:

$token = $_GET['token']; // use proper testing first

然后使用 a switchorif语句运行您需要的任何代码。

<input type="hidden" value="<?php echo $token; ?>">

额外的:

正如//use proper testing first评论所指出的,您应该确保传递的令牌是有效的并且在受到攻击时进行了清理。一种选择是在生成令牌时将令牌存储在数据库中,然后在验证时进行比较。还要检查htmlspecialchars()甚至strip_tags()消毒。

如果令牌验证失败,您不应该输出,甚至应该有一条警告消息/重定向出现错误。

于 2013-03-01T15:12:36.027 回答