【问题标题】:How to pass more than one variable in the URL bar using PHP?如何使用 PHP 在 URL 栏中传递多个变量?
【发布时间】:2011-05-07 21:48:34
【问题描述】:

我想使用 PHP 在 URL 栏中传递多个变量,但是我希望将其中一个变量添加到 URL 栏中的另一个现有变量中。

例如:
假设您有:test.php?u=2,假设其中一个字段是年龄。单击提交后,我希望 URL 看起来像 test.php?u=2&age=22 但在同一页面上。

我怎么能这样做?我需要重新重定向用户吗?

【问题讨论】:

  • 您的问题是关于如何构建URL?
  • 没有。我的问题是如何向同一个 URL 添加另一个变量。
  • 是否重新加载页面?后者是不可能的
  • 与重新加载相同的页面。
  • @master 来自 PHP,那么标头重定向是您唯一的选择。但是,如果您想正确地构建 URL,则比将 &age=22 添加到查询字符串更棘手。

标签: php url variables


【解决方案1】:

<form method="get" action="?"> - 使用它作为你的表单标签。它将提交到同一个页面,查询字符串中包含所有表单值,可通过$_GET 访问。

【讨论】:

    【解决方案2】:

    您可以编写代码,将所有请求变量注入到按钮提交的表单中。例如:

    <form ... >
        <?php foreach($_REQUEST as $key => $value) {
                  echo sprintf('<input type="hidden" name="%s" value="%s" />', 
                      htmlspecialchars($key),
                      htmlspecialchars($value));
              }
        ?>
    <!-- the one you want to add follows -->
    <input type="hidden" name="age" value="22" />
    <input type="submit" />
    </form>
    

    它并不漂亮,但它可以工作(如果您不介意来自$_GET$_POST 的变量实际上最终会以其他方法提交,无论表单使用哪种方法)。

    【讨论】:

      猜你喜欢
      • 2016-04-14
      • 1970-01-01
      • 2016-12-30
      • 1970-01-01
      • 2014-05-11
      • 1970-01-01
      • 2018-09-02
      • 1970-01-01
      • 2014-05-13
      相关资源
      最近更新 更多