Foros del Web » Programando para Internet » Javascript »

Proyecto Test con varios resultados y redireccionamiento

Estas en el tema de Proyecto Test con varios resultados y redireccionamiento en el foro de Javascript en Foros del Web. Lo que basicamente intento hacer es; Un Test en el que si tengo 10 aciertos me redirija a resultados1.html , pero si tengo 20 aciertos ...
  #1 (permalink)  
Antiguo 09/01/2013, 04:27
 
Fecha de Ingreso: enero-2013
Ubicación: Miami Bitch
Mensajes: 1
Antigüedad: 11 años, 4 meses
Puntos: 0
De acuerdo Proyecto Test con varios resultados y redireccionamiento

Lo que basicamente intento hacer es; Un Test en el que si tengo 10 aciertos me redirija a resultados1.html , pero si tengo 20 aciertos me redirija a resultados2.html.

Encontre varias formas de realizar el test, pero me cuesta a la hora de editar la parte de redirreccion

Cita:
<?php
// como siempre
// comprobamos si ha sido enviado el formulario
if(isset($_POST['evaluar']) && $_POST['evaluar'] == 'Evaluar') {
// y que no llegue vacío
if(!empty($_POST['respuesta_1']) && !empty($_POST['respuesta_2']) && !empty($_POST['respuesta_3'])){
// asignamos los valores a la variables que usaremos
// y sustituimos los 1 por 0, en caso de respuestas incorrectas
$respuesta_1 = str_replace(1, 0, $_POST['respuesta_1']);
$respuesta_2 = str_replace(1, 0, $_POST['respuesta_2']);
$respuesta_3 = str_replace(1, 0, $_POST['respuesta_3']);
// calculamos el promedio
// y redondeamos el resultado (round()) para evitar números decimales
$promedio = round(($respuesta_1 + $respuesta_2 + $respuesta_3) / 3);
// usamos la sentencia switch
// para darle la evaluación al examinado
switch ($promedio){
case 5:
$nota = "Usted tiene $promedio puntos, Excelente...!";
break;
case 4:
$nota = "Usted tiene $promedio puntos, Bien...!";
break;
case 3:
$nota = "Usted tiene $promedio puntos, Por los pelos...!";
break;
case 2:
$nota = "Usted tiene $promedio puntos, Suspenso, lo esperamos el próximo curso...!";
break;
case 1:
case 0:
$nota = "Definitivamente, este curso no es para usted...!";
break;
}
echo $nota;
}else{
// mensaje de error en caso que no se respondan todas las preguntas
echo "Debe responder todas las preguntas";
}
}
?>
<!-- el formulario -->
<form name="examen" action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<p>Pregunta 1</p>
<input type="radio" value="1" name="respuesta_1" /> mal<br />
<input type="radio" value="5" name="respuesta_1" /> bien<br />
<input type="radio" value="1" name="respuesta_1" /> mal<br />
<p>Pregunta 2</p>
<input type="radio" value="1" name="respuesta_2" /> mal<br />
<input type="radio" value="5" name="respuesta_2" /> bien<br />
<input type="radio" value="1" name="respuesta_2" /> mal<br />
<p>Pregunta 3</p>
<input type="radio" value="1" name="respuesta_3" /> mal<br />
<input type="radio" value="5" name="respuesta_3" /> bien<br />
<input type="radio" value="1" name="respuesta_3" /> mal<br />
<p><input type="submit" name="evaluar" value="Evaluar" /></p>
</form>

Intente cambiar el Switch por IF y poner header resultado1.html pero no me sale. No se si aca estoy flashando mal o que .





OTRA FORMA HOT POTATOE JQUIZ


Aca pude realizar todo el test sin necesidad de escribir practicamente nada,pero el problema es que al intentar editarlo se buguea,osea le quiero agregar algo al archivo HTML entonces si se lo agrego desaparecen las preguntas.


Algun Lance? estoy atascado aca...
  #2 (permalink)  
Antiguo 10/01/2013, 03:58
Avatar de antoniopol  
Fecha de Ingreso: agosto-2012
Ubicación: Valladolid
Mensajes: 114
Antigüedad: 11 años, 8 meses
Puntos: 21
Respuesta: Proyecto Test con varios resultados y redireccionamiento

Cuando realizas un header("location: ....."); no puede haber antes de él un echo, si no da error, entonces si quieres mostrar primero excelente has sacado la nota máxima y luego el header("location: ...."); no te funcionará.

Tendrías que poner el código con los header para saber que error te da y ver nosotros como lo estas usando, así solo se me ocurre esa opción.

Espero que le haya servido.
__________________
>> Blog de desarrollo web.
>> @antoniopol06 amante de la Web =D

Etiquetas: formulario, html, input, php, proyecto, redireccionamiento, resultados, test
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 16:09.