Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - danflizz

#1
PHP / Validar mas de un checkbox seleccionado
16 Mayo 2015, 02:35 AM
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
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