如何在服务器端 php.ini 上对复选框进行验证我编写了一个输入标签,其中包含 html 中非常常见的名称类型和值标签。 我在google后用php写了一些代码,但没有工作。任何帮助表示赞赏。 html代码
....
<input tags of name>
<input tags of category with select and options tag>
<div class="row">
<div class="form-check pl-3 pt-1">
<label class="form-check-label">
<input name="checkbox" class="form-check-input" id="checkbox" type="checkbox" value="Check Box">
<a href="#">Option 1</a>
</label>
</div>
php 代码如下:
$name = $_POST['name'];
$checkbox = $_POST['checkbox'];
$name_error = "";
$checkbox_error = "";
if (!isset($checkbox)){
$checkbox_error = true;
echo "<span class='alert alert-danger' role='alert'>Please select checkbox</span>";
} if {
$name error define here...
} else {
最佳答案
您可以使用isset
,未选中的复选框不会提交到服务器
if(!isset($_POST['checkbox'])){
//do something when not set
}
您现在所拥有的将会给您一个 undefined offset 警告/错误,因为您可能会从 $_POST
数组中不存在的索引分配一个值。所以你必须在分配之前检查它。
$checkbox = $_POST['checkbox']; //throws warning.
if(isset($checkbox)){
}
如果您只是想为其设置一个值,您可以使用三元运算符
$checkbox = isset($_POST['checkbox']) ? $_POST['checkbox'] : false;
这相当于这样做
if(isset($_POST['checkbox'])){
$checkbox = $_POST['checkbox']);
}else{
$checkbox = false;
}
现在,如果已设置,复选框将等于 $_POST['checkbox']
,如果未设置,则等于 false
。然后您可以通过简单的 bool 比较来检查它。
if( $checkbox ){ ... }
PHP7 中的新功能是 NULL合并
运算符,因此使用 PHP7 你可以做到这一点
$checkbox = $_POST['checkbox'] ?? false;
虽然我还没有尝试过,但仍在等待 CSO 将我们的服务器从 PHP 5.6 升级
关于php - 如何在php中对复选框进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47005570/