为什么 $_GET['name'] 在导航到 http://example.com/test.php 时为"无"?<<<Apple>>>



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

问题是每当我导航到该站点时

http://example.com/test.php?id=&amp;lt;&amp;lt;&amp;lt;Apple&amp;gt;&amp;gt;&amp;gt;

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

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

PHP文件:

测试.php

回显 $_GET['id'];

$_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).

最新更新