$ _SERVER [ 'QUERY_STRING'];不返回完整的查询字符串

时间:2013-07-04 00:39:23

标签: php

我们说当前的网址是www.example.com/example.php?var=test#1

$_SERVER['QUERY_STRING']; 

应该返回

  

VAR =试验#1

但它只会返回

  

测试

每次在URL中插入“#”符号时都会发生这种情况。

我该如何解决?我真的需要获取当前的查询字符串,但我不能使用$ _GET(请不要问为什么它真的太长了解释)。 我也无法控制URL,我无法控制url字符串或在它到达我的服务器之前对其进行编码。

编辑:与$ _SERVER ['REQUEST_URI']相同的问题;

2 个答案:

答案 0 :(得分:1)

如果你确实需要知道哈希是什么,你将不得不使用document.location.hash JavaScript属性,其中包含哈希的内容....除此之外,没有办法得到用PHP散列,因为它没有传递给服务器

答案 1 :(得分:0)

URL中的#符号表示指向命名锚点的链接,不属于查询字符串。要作为查询数据的一部分可靠地传递,它应编码为%23。