php查询字符串服务器变量从未填充

时间:2015-11-05 04:00:27

标签: php arrays get environment-variables

我有一个相当奇怪的问题。我创建了一个简单的php脚本,它使用GET方法生成一个表单,只有一个框可供任何人输入任何内容。然后在下面列出服务器环境变量。

当我点击提交按钮时,我应该看到QS=Q=x其中x是我输入的文本,而print_r中的第一个数组应该包含索引Q等于x。 / p>

问题是,无论我输入什么内容,$_SERVER['QUERY_STRING']永远不会填充,print_r($_GET);总是会输出一个空数组。

为什么会发生这种情况,我该如何解决?

<?php
echo "<!DOCTYPE HTML><html><head><title>Test</title></head><body>";
echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"GET\">";
echo "<input type=\"text\" name=\"Q\"><input type=\"submit\">";
echo "</form>";
echo "<h1>QS=".$_SERVER['QUERY_STRING']."</h1>";
echo "<pre>";
print_r($_GET);
print_r($_SERVER);
echo "</pre>";
echo "</body></html>";
exit();
?>

1 个答案:

答案 0 :(得分:0)

没关系......我找到了答案

我的.htaccess文件中有以下内容,用于修剪请求中的所有查询字符串。

RewriteCond %{QUERY_STRING} !^$
RewriteRule ^(.*)$ /$1? [R=301,L]

我现在删除它,一切正常。