【发布时间】:2010-09-07 10:21:40
【问题描述】:
我的理解是 _REQUEST 由 GET、POST 和 cookie 数据组成。我有一个 _REQUEST 变量,它使用 GET 填充数据,即来自 URL。这是我有几个问题的地方。
我认为 GET 数据是在 url 中传达的,例如:
www.example.com/empty?g=o&h=s
因此,使用该网址,REQUEST 将具有 _$REQUEST[g]=o 和 _$REQUEST[h]=s。
现在这是我的问题。将 print_r($_REQUEST) 放在 php 脚本的顶部会显示我不理解的行为。当脚本像这样运行时:我去 www.example.com/script.php,然后在屏幕上打印请求为空,但是当我去 www.example.com/script/test1/35 然后 print_r REQUEST 显示
Array ( [cat] => test1 [pid] => 35 )
那么,请求变量如何知道 GET 数据在这样的 URL 中?它怎么知道 CAT 指的是第二个斜杠之后的数据,而 PID 是指第三个斜杠之后的数据。
不仅如此,当我复制脚本并给它一个不同的名称时,上面的示例变成:www.dummy.com/script/test1/35, print_r REQUEST 为空。
重要提示:当我输入 print_r($_REQUEST); 时,上述所有情况都会发生作为 php.ini 的第一行。我正在使用 smarty php 模板。 script.php 有一个对应的 script.tpl,但它不包含任何指定 GET 结构的内容。
所以我很困。有什么想法很感激吗?一旦我理解了最后一部分,我就可以完成这个项目。
【问题讨论】:
-
请复制您的 .htaccess 内容?
-
天哪,你解决了答案就在里面
-
有一个“重写”规则将 www.example.com/script/blah/deblah 更改为 ?cat=$blahpid=deblah