Foros del Web » Programando para Internet » PHP »

Borrar una sesión concreta y no todas las sesiones

Estas en el tema de Borrar una sesión concreta y no todas las sesiones en el foro de PHP en Foros del Web. Tengo una web con un sistema de usuario y con un carrito de la compra, en ambos uso sesiones.. Cuando solo usaba el carrito para ...
  #1 (permalink)  
Antiguo 25/01/2005, 06:45
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 21 años, 4 meses
Puntos: 0
Borrar una sesión concreta y no todas las sesiones

Tengo una web con un sistema de usuario y con un carrito de la compra, en ambos uso sesiones..
Cuando solo usaba el carrito para vaciarlo usaba session_destroy() y todo funcionaba perfectamente... Ahora que tengo tb el sistema de usuarios no he pensado que si el usuario pasa por el carrito y lo vacía tb se borra la sesión del usuario (porque esa funcion borra todas las sesiones).
he estado leyendo sobre session_unset pero no se si me serviría, como se borra una session concreta? Si tengo session_register("Acceso")=1 y session_register("Carrito") ... como borro Carrito y no Acceso?
__________________
Ibisof | Saludos desde Eivissa !!! :p
  #2 (permalink)  
Antiguo 25/01/2005, 06:52
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Hola,

Un usuario solo tiene una sesion activa en cada momento, lo que si tiene son varias variables guardadas en esa sesion.

Si carrito es un array, podrias hacer:
Código PHP:
$_SESSION['carrito']=array(); // lo vaciamos
unset($_SESSION['carrito']); // quitamos el elemento 'carrito' 
Aunque por lo que veo usas session_register() (que creo que no es muy buena idea en estas ultimas versiones), con lo que deberias usar session_unregister() (www.php.net/session_unregister).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 25/01/2005, 09:26
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 21 años, 4 meses
Puntos: 0
Estoy intentado entender las sesiones, por esto estas dudas... :(
A ver si lo he entendido bien...
Si yo en la misma web tengo en diferentes paginas
1º Pagina carrito
<?php
session_start();
session_register('itemsEnCesta');
?>
2º Pagina usuarios
session_start();
$_SESSION['Acceso']=$usuarios[Id];

No es correcto?

Con una sola sesión a que te refieres? el session_start()? lo demás son todo variables?

Porque session_register no es buena idea?

Muchas gracias por todo!
__________________
Ibisof | Saludos desde Eivissa !!! :p
  #4 (permalink)  
Antiguo 25/01/2005, 10:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
No mezcles el uso de session_register() con los arrays superglobales $_SESSION ..


La "sesión" es única para cada "cliente" (lease: PC ..) que la crea. Es un "contenedor" de variables .. que son tus "variables de sesión" que ahí defines como ese "ItemsEncesta" o ese "acceso" .. A su vez el tipo de varaibles que puedes gestionar bajo una sesión son de todo tipo: normales, arrays .. y hasta objetos (en este caso se pierden los métodos).

Session_start() inicializa una sesión .. o continua la misma iniciada dependiendo de la propagación del SID (Identificador único de sesión) y si este se "propagó" correctamente.

En las FAQ's de este foro tienes ejemplos y más teoría sobre sesiones .. leelo es recomendable.


Un saludo,
  #5 (permalink)  
Antiguo 25/01/2005, 10:14
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 21 años, 4 meses
Puntos: 0
Muchas gracias parece que voy entendiendo...
Voy a mirar las FAQ's y ha hacer unas cuantas pruebas y luego os cuento.
Hasta luego!

Nota: Bueno, lo que quería conseguir ya funciona...
Lo conseguí con: <? session_unregister('itemsEnCesta') ?>
No sé si es lo que se debería utilizar, la verdad es que confundo un poco las variables superglobales de las sesiones...
A ver si termino un par de cosas que tengo pendientes y me meto con esto y con las clases (que es otra cosa que tengo pendiente que creo que nunca entenderé! :()
Bueno, muchas gracias por todo!
Ta lego!
__________________
Ibisof | Saludos desde Eivissa !!! :p

Última edición por Enea; 25/01/2005 a las 11:35
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 21:40.