为什么当我导航到http://example.com/test.php?<<<Apple>>>时,$ _GET ['name']为Nothing

时间:2017-04-02 16:33:16

标签: php get global

我有一个使用GET方法获取变量的网站(假设它回复了http://example.com/test.php?id=Apple之类的属性将返回Apple的属性),并使用php中的$_GET['id']全局变量来检索请求身份。

每当我导航到该网站时都会出现问题

http://example.com/test.php?id=<<<Apple>>>

它不起作用,因为$GET['id']为空。为什么?

我必须使用GET,因为我将与客户分享,他们可以将其修改为他们想要的任何内容。如果我无法使用GET,我的选择是什么?

php文件:

test.php的

  

echo $ _GET ['id'];

1 个答案:

答案 0 :(得分:1)

$ _ GET ['id']是空的,因为每次你放&字符就像你在url中添加另一个参数,所以如果你print_r($ _ GET)你会看到这样的东西:

Array
(
    [id] => 
    [lt;] => 
    [lt;Apple] => 
    [gt;] => 
)

您可以尝试子串$_SERVER['QUERY_STRING']。 在这种情况下,$_SERVER['QUERY_STRING']应该类似于id=<<<Apple>>>,因此您可以echo substr($_SERVER['QUERY_STRING'],3)