PHP中下拉列表的验证
我正在尝试用PHP验证表单。我有不更改表单本身的说明(例如字段名称),其中有一个下拉列表,其中包含以下内容:PHP中下拉列表的验证,php,Php,我正在尝试用PHP验证表单。我有不更改表单本身的说明(例如字段名称),其中有一个下拉列表,其中包含以下内容: 我试着用这个来验证: if (!isset($_POST['cboproduit'])){ $message.= "Vous devez sélectionner un téléphone <br />";} if(!isset($\u POST['cboproduit'])){ $message.=“您的手机号码”;} 但是,由于有一个值中没有任何内容,如果我提交带
我试着用这个来验证:
if (!isset($_POST['cboproduit'])){
$message.= "Vous devez sélectionner un téléphone <br />";}
if(!isset($\u POST['cboproduit'])){
$message.=“您的手机号码
”;}
但是,由于有一个值中没有任何内容,如果我提交带有空值的表单,它只会保存一个空值
如何以简单的方式执行此操作?除了检查变量是否已设置外,还需要检查变量是否为空:
if (!isset($_POST['cboproduit']) || $_POST['cboproduit'] === '') {
$message .= "Vous devez sélectionner un téléphone <br />";
}
if(!isset($_POST['cboproduit']))|$_POST['cboproduit']=''){
$message.=“您的手机号码
”;
}
您可以使用而不是isset
,因为为空
还可以检查变量是否存在:
if (empty($_POST['cboproduit'])){
$message.= "Vous devez sélectionner un téléphone <br />";
}
if(空($\u POST['cboproduit'])){
$message.=“您的手机号码
”;
}
不同的函数检查变量的不同方面。根据文件:
- :确定变量是否已设置且不为空
- :如果变量不存在或其值等于FALSE,则认为该变量为空
- :如果在数组中设置了给定键,则返回TRUE
if(empty($\u POST['cboproduit'])
似乎是最好的方法。它将检测是否以某种方式未传输该值(有人可以在提交表单之前在浏览器中编辑表单)或是否选择了空选项
(请注意,这意味着无法确定不存在的变量与
null
的变量之间的差异)仅仅是一个想法但为空可能不适用于您,因为第一个元素的
的value属性可能设置为0(第二个元素为1,依此类推)这意味着您永远不能删除第0个元素,因为它是0的空检查,也是空检查
if (empty($_POST['cboproduit'])){
$message.= "Vous devez sélectionner un téléphone <br />";
}
if(空($\u POST['cboproduit'])){
$message.=“您的手机号码
”;
}
谢谢您的快速回答!非常感谢:值得注意的是,这种检查有一个可能意想不到的副作用:它将字符串“0”
视为空。这是和。@t谢谢,我把它改成了='
。