Php 在$\u POST中设置了哪些空表单字段?
提交HTML表单后,我注意到一些空输入字段被发送到$\u POST数组,而其他字段则没有(它们都有name属性)。什么决定了设置什么和不设置什么Php 在$\u POST中设置了哪些空表单字段?,php,html,forms,Php,Html,Forms,提交HTML表单后,我注意到一些空输入字段被发送到$\u POST数组,而其他字段则没有(它们都有name属性)。什么决定了设置什么和不设置什么 <!DOCTYPE html> <head><title>EXAMPLE TEST</title></head> <body> <form action="/test.php" method="post"> <input type="text" 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”}
我问这个问题是因为我的脚本“似乎在”向$\u POST[“radio”]添加空的收音机,而且我的脚本工作正常,但现在突然它没有出现在数组中。我没有修改脚本中的任何内容。但我的问题不是关于我的脚本,我的问题是:我如何知道在$\u POST数组中设置了哪些空字段,这是否总是有保证的?- 复选框和单选按钮只有在选中时才会发送
- 文本输入将始终被发送(),但如果未填充,则将为空字符串
- 如果单击提交按钮,将发送它们
浏览器和标准决定了这一点。它与PHP无关。?您的radio and复选框缺少值属性。这将确定添加值的可能重复项是否不会改变任何内容。btwRadio按钮和复选框仅在包含肯定信息(即勾选或选中)时才会发送。即使文本为空,也会始终发送,当按下按钮时,也会发送按钮,即,如果您有两个按钮,则只发送被按下的一个按钮,这样您就可以知道用户按下了哪一个按钮。在使用$\u POST/$\u GET数组之前,应始终使用
isset()
或array\u key\u exists()
根据情况和您自己的偏好检查字段是否存在