我有一个相当奇怪的问题。我创建了一个简单的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();
?>
答案 0 :(得分:0)
没关系......我找到了答案
我的.htaccess文件中有以下内容,用于修剪请求中的所有查询字符串。
RewriteCond %{QUERY_STRING} !^$
RewriteRule ^(.*)$ /$1? [R=301,L]
我现在删除它,一切正常。