提交HTML表单后,我注意到一些空输入字段被发送到$ _POST数组而其他字段没有(它们都有一个name属性) . 什么决定了什么,什么没有?
<!DOCTYPE html>
<head><title>EXAMPLE TEST</title></head>
<body>
<form action="/test.php" method="post">
<input type="text" name="text">
<input type="radio" name="radio">
<input type="checkbox" name="checkbox">
<input type="date" name="date">
<textarea name="textarea" rows="5"></textarea>
<input type="submit" name="submit">
<!-- etc... -->
</form>
<?php var_dump($_POST); ?>
</body>
</html>
保持所有字段不变并提交表单,var_dump($ _ POST)显示:
array(3) { ["text"]=> string(0) "" ["textarea"]=> string(0) "" ["submit"]=> string(6) "Submit" }
我问这个是因为我的脚本“似乎”将空的收音机添加到$ _POST [“radio”]并且我的脚本工作正常,但现在突然它没有出现在数组中 . 我没有在我的脚本中修改任何内容 . 但我的问题不是关于我的脚本,我的问题是:我如何知道在$ _POST数组中设置了哪些空字段,这是否始终保证?
1 回答
复选框和单选按钮只有在选中后才会发送 .
将始终发送文本输入(as long as they are not disabled),但如果未填写则为空字符串 .
如果单击它们,将发送
浏览器和标准决定了这一点 . 它与PHP没有任何关系 .