Comunidad de diseño web y desarrollo en internet online

Como limpio sesiones borradas de un BD?

Citar            
MensajeEscrito el 01 Ago 2005 12:10 pm
Saludos amigos, ahora ando con el PHP liado jeje, os comento a ver si me podeis ayudar :)

Vereis, estoy desarrollando un sitio comercial y uso sessiones y cookies, pues bién todo vá correcto, menos al hacer logout, pues en logout.php borro las cookies y la session, pero en la BD se me queda guardada y no se borra :( osea el comportamiento de la pagina es correcto, solo que en la BD (lugar donde guardo las sesiones, para no depender de las cookies) pues no se borra, y eso que tengo el codigo escrito para que lo haga e incluido en el session_set_save_handler. :crap:

Si me podeis indicar si es normal, o que metodo usar para limpieza, no sé... un saludo a todos ^^

Por MorphX

SWAT Team

982 de clabLevel

3 tutoriales

  SWAT

La Telaraña Digital

msie
Citar            
MensajeEscrito el 01 Ago 2005 12:40 pm
pues debes hacer la sentencia sql para que borre los datos en la Base de Datos, mmm DELETE te suena a algo :wink:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 01 Ago 2005 12:49 pm
jejeje claro que me suena maikel jeje mira te paso el ´código verás como EN TEORÍA es correcto, es que necesitaría saber pq no se llama a esa función o que ocurre pa sigue existindo la KEY y el Expire tras el session_destroy en la BD

Ahí vá el código:

Código :

    function ss_dstr($kEY) //Borramos de la BD los datos para destruir la sesión
      {
      return livco_db_query("delete from " . TABLE_SESSIONS . " where sesskey = '" . livco_db_input($kEY) . "'");
    }

    function ss_rbasura() //Borramos cualquier entrada de la Tabla que haya expirado
      {
      livco_db_query("delete from " . TABLE_SESSIONS . " where expiry < '" . time() . "'");
      return true;
    }

    session_set_save_handler('ss_open', 'ss_close', 'ss_read', 'ss_write', 'ss_dstr', 'ss_rbasura');

Por MorphX

SWAT Team

982 de clabLevel

3 tutoriales

  SWAT

La Telaraña Digital

msie
Citar            
MensajeEscrito el 01 Ago 2005 01:06 pm
:? no veo session_destroy por ningun lado y el DELETE tampoco :crap:

aparte session_destroy no elimina los datos, ni siquiera de los cookies :wink:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 02 Ago 2005 11:35 am
Bueno, por ahora resuelto :) os comento como, por si a alguien le interesó :P

En el manejador de escritura, puse que siempre que vaya a escribir datos en la sesión, llame a la función interna recolectadora de basura (de la sessión) la cual la he definido, para que elimine de la BD todos los registros, cuyo expiry sea superior al tiempo actual, y listo :)

Pero me gustaría saber pq el sessión_destroy no desbloquea la BD y borra como debería...

En fins... misterios xD, ya nos enteraremos :P

Por cierto por si alguien lo piensa, si que tengo en el php.ini el session.save_handle = user ;)

Saludos..

Por MorphX

SWAT Team

982 de clabLevel

3 tutoriales

  SWAT

La Telaraña Digital

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.