Foros del Web » Creando para Internet » Diseño web »

Detectar desde donde se invoca a un formulario

Estas en el tema de Detectar desde donde se invoca a un formulario en el foro de Diseño web en Foros del Web. El problema es el siguiente: Tengo una página de bienvenida para llenar una encuesta donde el usuario introduce una clave, luego lo redirige a un ...
  #1 (permalink)  
Antiguo 14/06/2009, 18:08
 
Fecha de Ingreso: mayo-2007
Mensajes: 15
Antigüedad: 10 años, 6 meses
Puntos: 0
Pregunta Detectar desde donde se invoca a un formulario

El problema es el siguiente:

Tengo una página de bienvenida para llenar una encuesta donde el usuario introduce una clave, luego lo redirige a un formulario, el usuario lo llena, y si lo ha completado, lo redirecciona a una página de agradecimiento.

El problema está en que si estando en la página de agradecimiento el usuario da en el boton de retroceder página del browser, regresa al formulario con los datos llenos, y se mantiene la clave que puso en la página de bienvenida, y por lo tanto ya no necesita autenticar su clave y puede volver a enviar el formulario las veces que quiera.

Hay alguna forma para que la página del formulario solo aparezca cuando detecte que ha sido llamada desde la página de bienvenida y no desde otra, (ni poniendo su dirección en el browser).

Saludos!!
  #2 (permalink)  
Antiguo 15/06/2009, 02:39
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 10 años
Puntos: 68
Respuesta: Detectar desde donde se invoca a un formulario

Podrías intentar controlarlo con sesiones de PHP
__________________
No diseñes usando tablas.
  #3 (permalink)  
Antiguo 15/06/2009, 04:36
 
Fecha de Ingreso: junio-2004
Mensajes: 616
Antigüedad: 13 años, 6 meses
Puntos: 25
Respuesta: Detectar desde donde se invoca a un formulario

Cita:
Iniciado por ssssantossss Ver Mensaje
Hay alguna forma para que la página del formulario solo aparezca cuando detecte que ha sido llamada desde la página de bienvenida y no desde otra, (ni poniendo su dirección en el browser).
Saludos!!
Puedes resetear siempre el formulario al cargar la página, poniendo todos los campos a "" en el evento onload. De esta forma cuando vuelva, ya no le aparecerán todos los datos rellenos.

Otra opción es en el onload, comprobar si los campos vienen rellenos, hacer un window.location.href a la página de inicio.

Espero haberte ayudado.

Un cordial saludo,
eContento
__________________
eContento
- Mis artículos, tutoriales y labs
- Mis jsfiddles
  #4 (permalink)  
Antiguo 15/06/2009, 09:08
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 11 años, 1 mes
Puntos: 122
Respuesta: Detectar desde donde se invoca a un formulario

Como ya te dijeron antes, con sesiones. Puedes iniciar una sesión cuando se envía por primera vez el formulario. Para esto, tu formulario al ser cargado checa si dicha sesión existe. Si existe, redirecciona ala página de agradecimiento o a otra página. De este modo, la primera vez que se carga el formulario la sesión no existe por lo que el formulario se muestra sin problemas, al ser enviado, la sesión es creada y si se vuelve a intentar cargar el formulario, como la sesión ya existe, el formulario no se carga sino que redirecciona a otra página.
__________________
twitter: @imbuzu
  #5 (permalink)  
Antiguo 15/06/2009, 09:48
 
Fecha de Ingreso: mayo-2007
Mensajes: 15
Antigüedad: 10 años, 6 meses
Puntos: 0
De acuerdo Respuesta: Detectar desde donde se invoca a un formulario

Gracias por sus respuestas.

Por favor, sería posible que posteen un ejemplo de la opción del onload, y como comprobar si los campos vienen rellenos, hacer un window.location.href a la página de inicio.

La verdad es que soy bastante novato y prácticamente estoy haciendo todo esto a tanteo.

Lo de sesiones si no tengo ni idea como hacerlo pero si se puede poner un ejemplo, seguro que aprendo algo.

Saludos
  #6 (permalink)  
Antiguo 15/06/2009, 10:29
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 10 años, 9 meses
Puntos: 67
Respuesta: Detectar desde donde se invoca a un formulario

Ok, no tienes idea, porque al parecer tampoco tienes idea de PHP, así que no vayas directo al grano, porque podría ser que te de un dolor de cabeza por un tiempo y después vayas a tener que retroceder para aprender la base de PHP y después recién retomar el tema. Bien, busca unos manuales de PHP, aprende como funciona, lo de los servidores y todo lo demás, hazte algo simple primero y una vez que hayas entendido la idea, busca información directa de sesiones. Suerte!
  #7 (permalink)  
Antiguo 16/06/2009, 05:34
 
Fecha de Ingreso: junio-2004
Mensajes: 616
Antigüedad: 13 años, 6 meses
Puntos: 25
Respuesta: Detectar desde donde se invoca a un formulario

Cita:
Iniciado por ssssantossss Ver Mensaje
[...]Por favor, sería posible que posteen un ejemplo de la opción del onload, y como comprobar si los campos vienen rellenos, hacer un window.location.href a la página de inicio.[...]
A ver, de forma muy simplista, el ejemplo de ver si vienen informados y si no reenviar a la página de inicio

Código:
<script type="text/javascript">
  function inicio(){
    if (document.getElementById("campo").value!=""){
      window.location.href="/index.html";
    }
  }

  window.onload = inicio;
</script>
Reseteando el formulario al iniciar

Código:
<script type="text/javascript">
  document.forms[0].reset();
</script>
De todas formas, echale un vistazo al manual de JavaScript de Javier Eguíluz, que te vendrá muy bien, es fácil, y me parece a mi que lo necesitas...

Espero haberte ayudado.

Un cordial saludo,
eContento
__________________
eContento
- Mis artículos, tutoriales y labs
- Mis jsfiddles
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 23:27.