Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/01/2011, 16:40
vomesk
 
Fecha de Ingreso: enero-2011
Mensajes: 1
Antigüedad: 13 años, 3 meses
Puntos: 0
Validar radio buttons

Hola, estoy haciendo un test en php y tengo un problema, necesito que se completen todas las preguntas por lo que cuando se envía el formulario lo primero compruebo que estén todas respondidas y si no es asi aparece un link para volver atrás, pero al volver se me desmarcan todos los radio button y hay que hacer el test entero. ¿Sabéis como puedo evitarlo?

Este es el código del formulario, he puesto el ejemplo con 3 preguntas pero realmente son 25:
Cita:
<br/><p>INTERMEDIATE LEVEL TEST II</p><br/><br/><br/>
<form name="examen" action="correct.php" method="post">
<p>1. She ___________ big cities.</p>
<input type="radio" value="1" name="respuesta_1" /> a) don’t like<br />
<input type="radio" value="2" name="respuesta_1" /> b) doesn’t like<br />
<input type="radio" value="1" name="respuesta_1" /> c) isn’t like<br />
<p>2. You ____________ a coat but it’s not cold today.</p>
<input type="radio" value="1" name="respuesta_2" /> a) wear<br />
<input type="radio" value="2" name="respuesta_2" /> b) are wearing<br />
<input type="radio" value="1" name="respuesta_2" /> c) wears<br />
<p>3. It ___________ so we didn’t go out.</p>
<input type="radio" value="1" name="respuesta_3" /> a) rained<br />
<input type="radio" value="1" name="respuesta_3" /> b) has rained<br />
<input type="radio" value="2" name="respuesta_3" /> c) was raining<br />
<p><input type="submit" name="evaluar" value="Evaluar" /></p>
</form>

Y este el php que se ejecuta al validar el formulario.
Cita:
<?php

$val = 0;
if(isset($_POST['evaluar']) && $_POST['evaluar'] == 'Evaluar') {
for($i = 1; $i <= 3; $i ++){
if (!empty($_POST['respuesta_' . $i])){
if ($_POST['respuesta_' . $i] == 2) {
$val ++;
}
if ($i == 3){
echo "Has obtenido una puntuacion de " . $val . " puntos.";
}
}else{
echo "La pregunta " . $i . " esta en blanco.<br>Tienes que rellenar todas las preguntas.";
echo "<br><br><input type='button' value='Atras' onClick='history.go(-1);'>";

break;
}
}
}
?>