Foros del Web » Programando para Internet » PHP »

Eliminar sesiones

Estas en el tema de Eliminar sesiones en el foro de PHP en Foros del Web. Que tal amigos Estoy realizando un sistema de reservación de hoteles y tengo la siguiente necesidad - Cada vez que un usuario desea comprar una ...
  #1 (permalink)  
Antiguo 27/01/2006, 11:31
Avatar de elunicode  
Fecha de Ingreso: noviembre-2005
Mensajes: 66
Antigüedad: 18 años, 5 meses
Puntos: 2
Eliminar sesiones

Que tal amigos

Estoy realizando un sistema de reservación de hoteles y tengo la siguiente necesidad

- Cada vez que un usuario desea comprar una reservación necesito iniciar una sesión (hasta aquí estoy bien)

- Cada vez que la sesión se inicia, guardo los datos de esa sesión en una base de datos (id de la sesión, fecha/hora de inicio de la sesión, entre otros datos), hasta este punto sigo bien.

- Siempre que este script inicia, verifica la base de datos y busca los ids de las sesiones que iniciaron aproximadamente más de 3 minutos. (hasta aquí seguimos yendo bien).

- Pero viene el siguiente problema: pues a pesar que el resultado de la consulta anterior me arroja todos los ids de sesión que ya llevan más de 3 minutos, no he conseguido eliminar las sesiones que contengan dichas id. Esto deseo realizarlo con la finalidad de que automáticamente se realicen una serie de acciones que contengan dichos ids;


estoy haciendo algo semejante al siguiente código

$Conexion=mysql_connect($hostlocal,$usuario,$passw ord); //conecto a la base de datos
mysql_select_db($base,$Conexion);

$sql = "select Id from control_sesion";
//busco las sesiones, en este ejemplo no estoy validando el tiempo, sin embargo no es necesario pues solamente es un ejemplo.

$result = mysql_query($sql,$Conexion);

//en el siguiente bucle intento eliminar todas las sesiones que me arroje la consulta
while ($fila = mysql_fetch_row($result))
{
session_start(); //inicio la sesión
$id = $fila[0]; //obtengo la id de la sesión
session_id($id); //asigno id obtenida de la consulta a la sesión
session_unset(); //destruyo variables
session_destroy(); //ERROR: intento destruir la sesión, sin embargo aquí es donde me bota.

}

el error que me arroja es el siguiente:
Warning: session_destroy(): Session object destruction failed in /windows/D/www/hoteles/destruir_sesion.php on line 17

Gracias de antemano por su ayuda...
  #2 (permalink)  
Antiguo 27/01/2006, 11:36
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Prueba los siguiente y comentanos que obtuviste
Código PHP:
session_destroy() or die("Error"); 
  #3 (permalink)  
Antiguo 27/01/2006, 11:47
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 3 meses
Puntos: 0
No postees lo mismo varias veces por favor, gracias.
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #4 (permalink)  
Antiguo 27/01/2006, 12:02
Avatar de elunicode  
Fecha de Ingreso: noviembre-2005
Mensajes: 66
Antigüedad: 18 años, 5 meses
Puntos: 2
ya realicé lo que me sugeriste
y me envió el mensaje siguiente:

Warning: session_destroy(): Session object destruction failed in /windows/D/www/hoteles/destruir_sesion.php on line 17
Error
  #5 (permalink)  
Antiguo 27/01/2006, 12:09
Avatar de elunicode  
Fecha de Ingreso: noviembre-2005
Mensajes: 66
Antigüedad: 18 años, 5 meses
Puntos: 2
Lo de la duplicación de los posts
se debió a un error
pues cuando intenté enviar el post, el sistema de foros me pidió que me loguera otra vez
sin embargo no me indicó si mi mensaje lo envió (o no).

Así que como no estuve seguro de que fue lo que hizo, pues volví a enviar nuevamente el post.

Aclarado el asunto, espero que me puedan ayudar
  #6 (permalink)  
Antiguo 27/01/2006, 12:19
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

Encontre tu problema en las FAQ's

Respuesta dado por Cluster

Cita:
1) El SID no se ha propagado a dicho script (página) que va a ejecutar esas acciones sobre tu sesión. Aquí no sé como llegas a este script .. supongo que por un link? .. Habría que ver como propagas el SID en general en tu aplicación: lo haces manual? o automático por PHP? (en cookeis? o por el URL? ..)

2) Usastes nombre de sesión: session_name() para definir el nombre de tu sesión al crear tus variables y accederlas de sesión. Si es así .. al destruir la sesión -también- debes de indicar el nombre de tu sesión tal cual lo haces cuando las creas.

3) El directorio donde guarda PHP las sesiones creadas (por defecto) que lo indica la directiva (php.ini o phpinfo() lo puedes ver): session.save_path = ... No tiene permisos sufucientes para ejecutar esa acción (en teoría ya tendrá permisos de escritura y por ende de "borrar" ya que funcionan tus sesiones en el resto de la aplicación.

Alguno de esos puntos podría ser .. revisalos.
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 13:53.