就帮你写一下好了 我的php文件名称是test.php 你可以改成自己的php文件名称 好像是4zuoy2.php
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8" />
<title>测试</title>
</head>
<body>
<form action="test.php" type="post">
<div class="select-area">
<input type="checkbox" name="program[]" value="1" />AJAX
<input type="checkbox" name="program[]" value="2" />PHP
<input type="checkbox" name="program[]" value="3" />FLASH
<input type="checkbox" name="program[]" value="4" />ASP
<input type="checkbox" name="program[]" value="5" />JSP
</div>
<div class="submit-button">
<input type="submit" class="submit">确定</button>
</div>
</form>
</body>
</html>
<?php
!empty($_POST['program']) ? $program = $_POST['program'] : '';
if ($program) {
//遍历传递过来的是数组
if (in_array(2, $program)&&in_array(4,$program)&&in_array(5,$program)) {
echo '正确';
}elseif (!in_array(2, $program) || !in_array(4,$program) || !in_array(5,$program)) {
echo '回答不全!';
}else{
echo '错误!';
}
}
?>
追问就是本来正确的是三个,但把五个打钩也是显示正确,然后错误的没有显示出来,你还能再更改一下吗?
追答可以,送佛送到西
这个判断有点失误,我重新给你写一个判断
<?php
!empty($_POST['program']) ? $program = $_POST['program'] : $program = '';
if ($program) {
//遍历传递过来的是数组
if (in_array(2, $program)&&in_array(4,$program)&&in_array(5,$program)&&!in_array(1,$program)&&!in_array(3,$program)) {
echo '正确';
}elseif (!in_array(1,$program)&&!in_array(3,$program)) {
//如果没有1和3则判断正确,此时判断是否选项足够
if(!in_array(2, $program) || !in_array(4,$program) || !in_array(5,$program)){
echo '回答不全!';
}
//判断是否有1和3,如果有1和3则提示错误
}else{
echo '错误!';
}
}else{
echo '错误!';
}
?>
追问改成
确定改成
多的一个else应该删掉
以及“ 与‘ 没有分清楚
追答。。。那个不是,那个是判断你没有选择值却提交了,就是program为空的情况,html无所谓,我用ajax提交用顺手了,有点忘了标准form写法了
题中说其他任何情况都是错误,也就是说你提交过去的值为空也是要判断的,所以两个else