Foros del Web » Programando para Internet » PHP »

Validar radio buttons

Estas en el tema de Validar radio buttons en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 17/01/2011, 16:40
 
Fecha de Ingreso: enero-2011
Mensajes: 1
Antigüedad: 13 años, 10 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;
}
}
}
?>
  #2 (permalink)  
Antiguo 17/01/2011, 16:48
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 9 meses
Puntos: 96
Respuesta: Validar radio buttons

Saludos

Eso lo podrías realizar con javascript y no se te recargaría la pagina, en el foro o google puedes buscar como implementarlo ahí bastante documentación

link 1
Link 2
Link 3
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 17/01/2011, 19:02
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Validar radio buttons

O hacer la validacion en la misma pagina para en caso de error, tener las variable $_POST disponibles aun y verificar con un simple if() cual fue el valor seleccionado anteriormente.

Etiquetas: radio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:34.