PHPSESSID o cómo me volví tarumba

De cómo aprendí que para trabajar con variables de sesión hay que poder almacenar una cookie con el id de la sesión.

munch

archivado en: PHP/AJAX / 16 marzo, 2013

El otro día me pasó una cosa que me volvió tarumba hasta que la resolví. La cuento por aquí por si a alguien más le pasa  la misma tontería el mismo despiste.

Estoy preparando una aplicación web que debe funcionar también en los móviles. Para el acceso utilizo variables de sesión (en PHP). El sistema es muy sencillo: en una página el usuario introduce sus datos, en otra se recogen, se limpian y se chequean con la base de datos mediante una clase. Si hay un user con ese nombre y ese pass, se declaran variables de sesión que serán chequeadas de nuevo al redirigirse al index. Más simple que un botijo.

Todo iba fenomenal, pero de pronto, al testarlo con el móvil no funciona. La sesión desaparecía entre la página que recogía los datos del usuario y el index. Como suele suceder en estos casos, en vez de pensar primero en lo evidente, me puse a investigar cómo maneja Android las variables de sesión. El asunto era desconcertante.

Siguiendo los consejos de GatorV, comencé a preparar el tinglado para propagar la sesión por URL para ver qué pasaba y fue entonces cuando me di cuenta de dónde estaba el problema. Yo pensaba que todas las variables de sesión se almacenaban en el servidor, pero hay una que no. El id de la sesión ¡se envía como una coki al dispositivo cliente!

cokiasquerosa

Y, por alguna razón que desconozco, pues no recuerdo haberlo configurado así, en mi móvil Android había desactivado las cokis; de ahí que al tratar de recuperar la sesión el cacharro se volviera tonto.

Una solución entre varias: mediante una función de JavaScript autoejecutable detectar si las cokies están desactivadas y, en ese caso, solicitar que se pongan.

<!--Comprobación cookies-->

<script>

(function( window, undefined ){

if (!window.navigator.cookieEnabled) {

var cadena = "Por favor, activa las cookies para acceder a la aplicación";

document.getElementById("consola_errores").innerHTML = cadena;

};

})( window );

</script>

<!--#Comprobación cookies-->

|| Tags: , ,

valoración de los lectores sobre PHPSESSID o cómo me volví tarumba

  • estrellica valoración positiva
  • estrellica valoración positiva
  • estrellica valoración positiva
  • estrellica valoración positiva
  • estrellica valoración negativa
  • 4.3 sobre 5 (8 votos)

¿Te ha parecido útil o interesante esta entrada?
dormido, valoración 1 nadapensativo, valoración 2 un poco sonrisa, valoración 3 a medias guiño, valoración 4 bastante aplauso, valoración 5 mucho

Tú opinión es muy importante, gracias por compartirla!

Los comentarios están cerrados.