我的一台服务器出现了奇怪的情况。每当我发布一个包含给定post密钥的空值的表单时,当我尝试从$ _POST数组中读取该键时,它没有按预期设置。
我期待:
isset($_POST[$k]) == true
但我明白了:
isset($_POST[$k]) == false
我无法在网络的任何其他地方找到此问题的证据。
我有两台服务器,其中一台服务器发生,而另一台则不然。
我不知道它是否与我的PHP版本,Apache或某些配置文件有关。
测试场景:
<?php
print_r($_POST['param']);
?>
<form action="posttest.php" method="post">
<input type="text" name="param[text1]" value="1"><br>
<input type="text" name="param[text2]" value=""><br>
<input type="text" name="param[text3]" value="3"><br>
<input type="text" name="param[text4]" value=""><br>
<input type="text" name="param[text5]" value="4"><br>
<button type="submit">Send</button>
</form>
数据:
回应这个:
[param] => Array
(
[text1] => 1
[text2] =>
[text3] => 3
[text4] =>
[text5] => 4
)
数据:
回应这个:
[param] => Array
(
[text1] => 1
[text3] => 3
[text5] => 4
)
我不知道还有哪些信息可以添加到问题中,所以如果您有线索并需要更多信息,请告诉我,我会更新问题
答案 0 :(得分:-1)
问题已经消失,是在我的WHM控制台上运行EasyApache之后。也许这是我所使用的php二进制文件中的错误配置或错误,谁知道。