Foros del Web » Programando para Internet » PHP »

Fin de session con intro

Estas en el tema de Fin de session con intro en el foro de PHP en Foros del Web. Hola, no estoy seguro que sea un tema de php, quizas directamente es de html... El caso es que tengo una aplicación basada en php+mysql+ajax ...
  #1 (permalink)  
Antiguo 17/04/2010, 08:06
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 9 meses
Puntos: 574
Fin de session con intro

Hola,

no estoy seguro que sea un tema de php, quizas directamente es de html...

El caso es que tengo una aplicación basada en php+mysql+ajax y en algunos inputs de los formularios si se le da a intro, la aplicación cierra la sessión y salta al formulario de login (esto último lo hace porque por razones de seguridad tengo programado que pase cuando se cierra la sessión), por tanto el problema es que cierre la sesión al darle al intro, sobre un input type=text o un checbox...

Lo más sorprendente es que no pasa siempre. Hay controles donde parece que no pasa nunca y otros donde pasa muchas veces pero no todas...

Alguien se ha encontrado con el problema, y ha encontrado alguna solución?

(estoy trabajando con FIREFOX, en Chrome parece que tambien pasa y tambien en IE7 que raro unanimidad!!!)

Ahora observo que cuando pasa esto aparecen en la url los datos del formulario (url?varable=valor&...) que todas las llamadas al servidor se hacen por ajax por lo que no tendrian que aparecer... es como si al dar intro mandara el formulario... sin usar las funciones ajax..?

Gracias

Quim

Última edición por quimfv; 17/04/2010 a las 08:19
  #2 (permalink)  
Antiguo 17/04/2010, 08:11
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Fin de session con intro

Sin ver lo que haz hecho es dificil que te podamos indicar. La forma sencilla de lograr que se cierre las sesiones y que luego redirecciones a la página de inicio. Ejemplo
Código PHP:
Ver original
  1. $_SESSION = array();
  2. header('Location: index.php');
De esa forma te aseguras de cerrar todas las sesiones. Si miras el manual de PHP en la parte de session_destroy, te muestran como ellos implementarian deshacerse de las sesiones.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 19/04/2010, 06:45
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 9 meses
Puntos: 574
Respuesta: Fin de session con intro

Gracias por responder.

No me explique bien.

Precisamente lo que NO quiero es que se me cierre la sesion.

Dificilmente puedo mostraros nada, en algunos inputs donde solo hay una llamada a una funcion de validación genérica (valida(this.form), que solo mira que todo tenga valores), al darle a la tecla intro cierra la sesion ... no lo hacen todos y no veo diferencias entre los que lo hacen y los que no...

Pareceria un bug pero lo hacen todos los navegadores...

Todos los formularios tienen un boton donde se lanza una funcion ajax para mandar el formulario...

Alguna idea...

Quim
  #4 (permalink)  
Antiguo 19/04/2010, 07:42
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Fin de session con intro

Pues debes verificar, primero que en todas las páginas tengas declarador session_start. Luego verifica que no tengas declarado en esas páginas session_destroy o unset o algo que haga que todas las sesiones ($_SESSION) se modifiquen.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: intro, session
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 03:06.