Foros del Web » Programando para Internet » PHP »

Sobre questionario Online - ayuda

Estas en el tema de Sobre questionario Online - ayuda en el foro de PHP en Foros del Web. Hola, estoy en un diseño de Questionario Online y pos, todo va bien.. el caso es que.. ejemplo una vez que haya respondido NO PUEDA ...
  #1 (permalink)  
Antiguo 15/02/2006, 08:11
 
Fecha de Ingreso: mayo-2005
Mensajes: 148
Antigüedad: 18 años, 11 meses
Puntos: 0
Sobre questionario Online - ayuda

Hola, estoy en un diseño de Questionario Online y pos, todo va bien.. el caso es que.. ejemplo una vez que haya respondido NO PUEDA REGRESAR A LA PAGINA ANTERIOR, ejemplo:

paso2.php (preguntas a responder)

Cuando responde las preguntas, se dirige a "paso3.php" (y luego que no pueda regresar al paso2.php).

Pos eso..

Ejemplo.. responde mal y pues ha perdido.. y si regresa atras.. desde el explorer pues prueba con otras opciones hasta responder bien y pso no quiero que sea asi. sino que deba empezar del principio.

Una ayuda?

Gracias..

Saludos!
__________________
(8)Esta es la numero uno, que te sigue a todas partes,
siempre con sus estandartes,
y un grito de corazon, RACING CAMPEON
RACING CAMPEON, en el este y el oeste,
en el norte y en el sur, brillara blanca y celeste la academia RACING CLUB y la acade, y la acade... (8)
  #2 (permalink)  
Antiguo 15/02/2006, 08:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Revisa este mensaje:

http://www.forosdelweb.com/f18/ayuda-como-hacer-que-usuario-no-vuelva-atras-369994/

No se trata de que no pueda volver .. sino de "detectar" que ya pasó por ahí y en consecuencia NO entregar la página sino redireccionarlo a otro sitio o mostrar un aviso en consecuencia.

Todo esto trabajado con sesiones es relativamente sencillo. Ejemplo tienes en el mensaje que cité.

Un saludo,
  #3 (permalink)  
Antiguo 16/02/2006, 06:27
 
Fecha de Ingreso: mayo-2005
Mensajes: 148
Antigüedad: 18 años, 11 meses
Puntos: 0
Muchas gracias Cluster, pero mira otra duda sobre ello..

Pues va todo bien, pero claro.. al finalizar el Questionario ridirecciona al INICIO lo cual.. da el mensaje de: (ya pasaste por aqui).

en el index.php (donde se coloca el nombre del jugador) al principio de todo, pongo..

Código PHP:
<?
// inicio uso sesiones
session_start();
// ver si existe la variable de sesión declarada (en el 2° script)
if (isset($_SESSION['variable_control'])){
echo 
"Ya pasastes por aquí";
// termina la ejecución del script ...
exit();
}
?>
Pues para que luego en el segundo-paso.php no pueda regresar al primer-paso.php ok? bien..

Pos al finalizar el questionario.. se empieza todo otra vez DESDE EL INICIO lo cual sigue pidiendo lo de la sesion.. y no deja empezar.

Como soluciono eso?, borrando las cokies?? o.. alguna otra manera automatica?? o quiza creando un LOGOUT??

Ayuda plz..

Gracias y Saludos!
__________________
(8)Esta es la numero uno, que te sigue a todas partes,
siempre con sus estandartes,
y un grito de corazon, RACING CAMPEON
RACING CAMPEON, en el este y el oeste,
en el norte y en el sur, brillara blanca y celeste la academia RACING CLUB y la acade, y la acade... (8)
  #4 (permalink)  
Antiguo 16/02/2006, 06:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Defina una variable de sesión en tu último script de proceso para saber que al "index" llegas desde el final del proceso.

O mejor todavía .. inicia el proceso desde una 2° página . .es decir . .tu INDEX lanza el proceso de tu cuestionario hacia cuestionario1.php .. cuestionario2.php .. etc .. así en el último vuelves al "index.php" sin problemas

Un saludo,
  #5 (permalink)  
Antiguo 16/02/2006, 07:02
 
Fecha de Ingreso: mayo-2005
Mensajes: 148
Antigüedad: 18 años, 11 meses
Puntos: 0
Sobre esto.. mm yo en cada archivo.php CONTIENE UN FORMULARIO

Archivos: (cada uno tiene el proceso + formulario proximo)

index.php (form = nombre del jugador), empezar.php (proceso (del anterior) - form=pregunta), paso2.php (proceso (del anterior) - form=pregunta), paso3.php etc etc etc

En el archivo empezar.php INICIO LA SESION

Código PHP:
<?
session_start
();
$_SESSION['variable_control']="me da igual el valor, no lo voy a usar";
// Tu proceso ...
?>
Luego del proceso, aparece el codigo del Formulario, en el cual inserto el script..

Código PHP:
<?
// inicio uso sesiones
session_start();
// ver si existe la variable de sesión declarada (en el 2° script)
if (isset($_SESSION['variable_control'])){
echo 
"Ya pasastes por aquí";
// termina la ejecución del script ...
exit();
}
?>
ok?

Hasta ahi, todo bien.. pasamos al paso2.php y lo mismo..

El caso es que luego cuando se quiere volver a jugar (pasando claro por el index.php) inserto otro nombre de jugador le doy a "Empezar" y es ahi donde sale el mensaje de..

"ya has pasado por aqui"

Siendo asi no puedo volver a jugar, a noser qu ehaya una manera de LOGOUT o parecido.
__________________
(8)Esta es la numero uno, que te sigue a todas partes,
siempre con sus estandartes,
y un grito de corazon, RACING CAMPEON
RACING CAMPEON, en el este y el oeste,
en el norte y en el sur, brillara blanca y celeste la academia RACING CLUB y la acade, y la acade... (8)

Última edición por zuche; 16/02/2006 a las 07:16
  #6 (permalink)  
Antiguo 16/02/2006, 08:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Te proponía una solución: No usar tu "index" que inicia el proceso como parte del mismo proceso (formulario) donde no puede regresar.

Pero también puedes al final de tu proceso elminar tu variable de sesión "variable_Control" usando:

unset($_SESSION['variable_control']);

y redireccionando hacia tu index.php ..

Insisto que sería más sano NO usar tu index.php como parte del proceso .. (de los formularios).

Un saludo,
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 17:27.