【发布时间】:2008-11-24 00:46:35
【问题描述】:
我在 Windows XP 上使用带 IIS 的 PHP 5.2.6 遇到了一个非常奇怪的问题(已尝试过 CGI 和 ISAPI)。我正在使用默认的 php.ini 设置运行全新安装。
首先,假设以下(丑陋但有效)的 HTML 代码:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="hidden" name="test1" value="foo" />
<input type="hidden" name="test2" value="bar" />
<input type="submit">
</form>
<br /><br />
<pre>
<?php print_r($_POST); ?>
</pre>
提交表单时,我希望它会带出一个包含两个隐藏变量的数组。相反,我看到的只是一个空数组。如果我将表单方法更改为“get”并将 print_r($_POST) 更改为 print_r($_GET),我看到数组项没有问题。
我尝试了诸如<?php print file_get_contents('php://input'); ?> 和<?php echo print_r($HTTP_POST_VARS); ?> 之类的变体,但无济于事。有什么想法可能出在哪里吗?
【问题讨论】: