【问题标题】:Fill HTML form field with previous URL [closed]用以前的 URL 填充 HTML 表单字段 [关闭]
【发布时间】:2013-12-28 09:20:45
【问题描述】:

我有一个 HTML 表单,它设置为允许用户将我网站上的页面报告给版主。在表单中,有一个字段请求要报告的页面的 URL。

每个页面的底部都有一个指向报告表单的链接,并且希望我可以在用户单击链接访问表单之前使用用户所在页面的 URL 预先填写该字段。

谁能帮帮我? 谢谢!

【问题讨论】:

标签: php jquery forms


【解决方案1】:

您可能正在寻找类似的东西:

<input type="text" value="<?php=$_SERVER["HTTP_REFERER"] ?>" />

虽然这是对所提问题的正确答案,但@quasivivo 还针对您的问题发布了更可靠的解决方案。

【讨论】:

    【解决方案2】:

    您可以使用 $_SERVER['HTTP_REFERER'] 但您可以对其进行修改,使其无法真正被信任。

    更多信息here

    【讨论】:

      【解决方案3】:

      您可以更改链接以在 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'] 更好。后者可以被禁用或伪造。
      【解决方案4】:

      您可以在您的链接中添加额外的信息,或者只是通过 php 获取引荐来源网址。 这是第二个选项的示例,它更容易。

      <?php 
          echo '<input type="text" disabled value="' . $_SERVER["HTTP_REFERER"] . '" />';
      ?>
      

      【讨论】:

        【解决方案5】:

        在javascript中你可以这样做:

        $(document).ready(function() {
            last_page = document.referrer;
        });
        

        编辑:确实...我现在看到这是重复的:getting last page URL from history object - cross browser?

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-07-22
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多