Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果在inspect元素-PHP中更改了值,如何验证复选框_Php_Html - Fatal编程技术网

如果在inspect元素-PHP中更改了值,如何验证复选框

如果在inspect元素-PHP中更改了值,如何验证复选框,php,html,Php,Html,正如标题所说,当有人试图更改inspect元素中的复选框值时,我希望验证我的代码。还要检查是否删除了复选框中的值。我无法想象如何验证这一点,因为用户可以通过多种方式勾选框,例如ABC、BDE等。下面是我的代码,以给出一个示例 <?php $letterError = ""; if(isset($_POST['submit'])) { $arrayLetters = array('A','B','C','BD','E','F'); for($i = 0; i < 6; i

正如标题所说,当有人试图更改inspect元素中的复选框值时,我希望验证我的代码。还要检查是否删除了复选框中的值。我无法想象如何验证这一点,因为用户可以通过多种方式勾选框,例如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>

A.
B
C
屋宇署
E
F

您可以使用
数组_diff
查找输入中不在有效列表中的值

$invalid = array_diff($_POST['letters'], $arrayLetters);
if (!empty($invalid)) {
    $letterError = "Invalid letters: " . implode(", ", $invalid);
}

如果复选框上触发了“单击”事件,请尝试记录。未选中的复选框不会发送到服务器,因此您应该使用类似于
foreach($\u POST['letters']as$letter)
的内容。这是我一直在寻找的答案,非常感谢!