大家好我有问题
if(isset($_POST['submit'])) {$cars = $_POST['cars']; echo $cars;}
<form>
<input type="checkbox" name="cars[]" value="1" />
<input type="checkbox" name="cars[]" value="2" />
<input type="checkbox" name="cars[]" value="3" />
<input type="checkbox" name="cars[]" value="4" />
<button>add</button>
</form>
如果用户更改inspect元素的输入值,或者如果用户更改值alert me,我该如何停止更改值
我试试这个
$allowe = ['1','2','3','4'];
if(in_array($_POST['cars'],$allowe)) {echo $_POST['cars'];}
但不起作用只适用于一个值
答案 0 :(得分:1)
当然,您无法阻止用户篡改表单值。您可以将其与您已经制作的允许值进行比较。您可以对所选值和允许值使用array_intersect
。
<?php
$allowed = ['1','2','3','4'];
if(!empty($_POST['cars'])) {
$selected = $_POST['cars'];
$compare = array_intersect($selected, $allowed);
if(!empty($compare)) {
echo 'values selected: ', implode(', ', $compare);
// foreach($compare as $value) {
// echo $value;
// }
}
}
?>
<form method="POST">
<input type="checkbox" name="cars[]" value="1" />
<input type="checkbox" name="cars[]" value="2" />
<input type="checkbox" name="cars[]" value="3" />
<input type="checkbox" name="cars[]" value="4" />
<button>add</button>
</form>