php - 如果检查元素中的值已更改,如何验证复选框 - PHP
问题描述
正如标题所说,当有人试图更改检查元素中的复选框值时,我想验证我的代码。而且还要检查他们是否删除了复选框中的值。我无法想象如何验证这一点,因为用户可以通过多种方式选中它可以是 ABC、BDE 等的框。这是我的代码示例。
<?php
$letterError = "";
if(isset($_POST['submit']))
{
$arrayLetters = array('A','B','C','BD','E','F');
for($i = 0; i < 6; i++)
{
if(!in_array($_POST['letters'][i],$arrayLetters))
{
$letterError = "Invalid Letter";
}
}
}
?>
<input type="checkbox" id="letters[]" value="A">A<input>
<input type="checkbox" id="letters[]" value="B">B<input>
<input type="checkbox" id="letters[]" value="C">C<input>
<input type="checkbox" id="letters[]" value="BD">BD<input>
<input type="checkbox" id="letters[]" value="E">E<input>
<input type="checkbox" id="letters[]" value="F">F<input>
<span name="error"><?php echo $letterError;?><span>
解决方案
您可以使用array_diff
在输入中查找不在有效列表中的值。
$invalid = array_diff($_POST['letters'], $arrayLetters);
if (!empty($invalid)) {
$letterError = "Invalid letters: " . implode(", ", $invalid);
}
推荐阅读
- ruby-on-rails - 如何在Ruby on Rails中出现错误时回滚事务块中的所有事务
- amazon-sagemaker - sagemaker 中的模型输出文件夹
- r - 连接到 Linode 服务器(Ubuntu 16.04)上的 RStudio - 什么用户名和密码?
- https - Istio 网关无法通过 HTTPS 连接
- generics - 计算散列(digest::Digest trait)并取回字符串的通用函数
- python - 是否可以附加到函数内部的外部列表形式?
- apache-flink - Flink 检查点不断失败
- javascript - 自定义反应数据表组件中的水平和垂直滚动问题
- vim - 如何删除 Vim 中某个字符之前的所有内容?
- typescript - 在 Angular 中评估枚举