PHP:在多个页面之间传递GET

时间:2010-03-30 18:32:46

标签: php get

我正在构建一组页面,其中我有许多GET变量,将它传递到下一页通常很有价值。这导致了丑陋的代码,我必须“如果设置了这个$ _GET变量,动态地将它添加到这个超链接”。从许多方面来说,这不是问题;但我有一个想法“必须有一个更好的方法来做到这一点”,我的意思是毕竟基本上我想要的只是采取'?'以及它之后的所有内容并将其附加到该页面上的链接,它看起来应该相当简单(或者至少可以在for循环中执行)。我试过谷歌搜索,但找不到任何东西,所以我想我会看到你是否有人碰巧知道。

为什么不使用SESSION?因为这些页面需要能够被加入书签。

谢谢。

2 个答案:

答案 0 :(得分:4)

一个简单的想法是:

  • 使用 parse_url 将当前网址中的参数提取到数组中
    • 或直接使用已包含这些参数的 $_GET
  • 使用 array_merge 进行合并:
    • 现有参数列表(参见上一点)
    • 新参数列表
  • 使用 http_build_query 构建新的查询字符串
    • 请注意,您可能需要指定第三个参数:默认情况下,它将等于& - 这并不总是您所需要的,具体取决于您生成的输出类型


而且,一旦你有了新的查询字符串,它只是串联的问题:

  • 新网址,没有任何查询字符串
  • ?字符
  • 新查询字符串

你在这里; - )

答案 1 :(得分:2)

此变量包含请求参数。您可以将这些传递给页面上的每个链接。

例如:foo = test1& bar = test2

前置?你完成了。

$_SERVER['QUERY_STRING']