【发布时间】:2023-03-22 23:05:01
【问题描述】:
我有一个相当奇怪的问题。我创建了一个简单的 php 脚本,它使用 GET 方法生成一个表单,并且只有一个框供任何人输入任何内容。然后在其下方列出了服务器环境变量。
当我点击提交按钮时,我应该看到QS=Q=x,其中 x 是我输入的文本,而 print_r 中的第一个数组应该包含等于 x 的索引 Q。
问题是,无论我输入什么,$_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();
?>
【问题讨论】:
-
我刚刚在 XAMPP 中运行了您的代码(输入 abcdef),我得到了
$_SERVER['QUERY_STRING']和 Array ( [Q] => abcdef 的 QS=Q=abcdef ) 为print_r($_GET)。它似乎正在工作。您在什么环境中运行代码?
标签: php arrays get environment-variables