Tengo un examen donde en una pregunta, pongo 5 checkbox donde el usuario tiene que elegir 2 respuestas, pues 2 respuestas de ahí son correctas. Estoy atorada cuando el usuario selecciona los 5 checkbox, lo cual debería de marcar que la calificación es 0, pues no es correcto seleccionar los 5 si solo pide 2.
Tengo esto en mi código
El resultado de seleccionar la dos casillas correctas y las demas sin seleccionar me muestra lo siguiente:
El resultado es: 100 Total de errores: 0
Y el resultado de seleccionar las 5 casillas me muestra:
El resultado es: 100 Total de errores: 0
El resultado esperado debería ser:
El resultado es: 90 Total de errores: 1
Las variables $r1 .... $r10 son de otras preguntas que si esta validando bien.
El problema son las variables $r81,$r82,$r83,$r84,$r85
Si alguien me pudiera ayudar estaría muy agradecida.
Saludos
Tengo esto en mi código
Código (php) [Seleccionar]
¿Cuánto es 2+2?
<input type="checkbox" name="r81" value=".5"/>
a) 4<br/>
<input type="checkbox" name="r82" value=".5"/>
b) cuatro<br />
<input type="checkbox" name="r83" value="0"/>
c) 6<br />
<input type="checkbox" name="r84" value="0"/>
d) 3<br/>
<input type="checkbox" name="r85" value="0"/>
e) ocho<br/>
if($_POST['r81']==".5" && $_POST['r82']==".5")
{
if(empty($_POST['r83'])==false && empty($_POST['r84'])==false && empty($_POST['r85'])==false)
{
$res = $r1+$r2+$r3+$r4+$r5+$r6+$r7+$r9+$r10;
$array = array($r1,$r2,$r3,$r4,$r5,$r6,$r7,$r9,$r10);
for($i=0; $i< count($array);$i++)
{
if($r1==0 || $r2==0 || $r3==0 || $r4==0 || $r5==0 || $r6==0 || $r7==0 || $r9==0 || $r10 == 0)
{
$error = $error +1;
}
}
$error1=1;
$total = $res * 10;
$erroresT = $error + $error1;
}
else
{
//cuando fueron seleccionadas SOLO las casillas correctas
$r82 = $_POST['r82'];
$r81 = $_POST['r81'];
$res = $r1+$r2+$r3+$r4+$r5+$r6+$r82+$r81+$r7+$r9+$r10;
$array = array($r1,$r2,$r3,$r4,$r5,$r6,$r7,$r9,$r10);
for($i=0; $i< count($array);$i++)
{
if($r1==0 || $r2==0 || $r3==0 || $r4==0 || $r5==0 || $r6==0 || $r7==0 || $r9==0 || $r10 == 0)
{
$error = $error +1;
}
}
$total = $res * 10;
$erroresT = $error + $error1;
echo "El resultado es: ".$total;
echo "Total de errores: ".$erroresT;
}
}
El resultado de seleccionar la dos casillas correctas y las demas sin seleccionar me muestra lo siguiente:
El resultado es: 100 Total de errores: 0
Y el resultado de seleccionar las 5 casillas me muestra:
El resultado es: 100 Total de errores: 0
El resultado esperado debería ser:
El resultado es: 90 Total de errores: 1
Las variables $r1 .... $r10 son de otras preguntas que si esta validando bien.
El problema son las variables $r81,$r82,$r83,$r84,$r85
Si alguien me pudiera ayudar estaría muy agradecida.
Saludos