Foros del Web » Programando para Internet » PHP »

Aplicar unset a varias variables session...

Estas en el tema de Aplicar unset a varias variables session... en el foro de PHP en Foros del Web. Estoy tratando de destruir todas las variables session que inicien con la cadena *** Asi que estoy aplciando esto : Código PHP:   foreach( $_SESSION  ...
  #1 (permalink)  
Antiguo 27/12/2010, 17:17
 
Fecha de Ingreso: febrero-2008
Mensajes: 409
Antigüedad: 16 años, 10 meses
Puntos: 2
Pregunta Aplicar unset a varias variables session...

Estoy tratando de destruir todas las variables session que inicien con la cadena ***

Asi que estoy aplciando esto :

Código PHP:
 foreach($_SESSION as $k => $qty)
{
if (
substr($k,0,3)=='***' && ($qty>=0))
{           
   unset(
$k);
}

Pero al parecer no tiene sentido, pues el unset lo hace a $k que es una variable posterior tomada de la session, no es la misma session que quiero eliminar... como debo hacer para eliminar dichas variables ??
  #2 (permalink)  
Antiguo 27/12/2010, 17:25
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 6 meses
Puntos: 88
Respuesta: Aplicar unset a varias variables session...

intenta con algo como esto
Código PHP:
Ver original
  1. foreach($_SESSION as $k => $qty){
  2.     if (substr($k,0,3)=='***' && ($qty>=0)){          
  3.         unset($_SESSION[$k]);
  4.     }
  5. }
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 27/12/2010, 17:31
 
Fecha de Ingreso: febrero-2008
Mensajes: 409
Antigüedad: 16 años, 10 meses
Puntos: 2
Pregunta Respuesta: Aplicar unset a varias variables session...

Cita:
Iniciado por eits Ver Mensaje
intenta con algo como esto
Código PHP:
Ver original
  1. foreach($_SESSION as $k => $qty){
  2.     if (substr($k,0,3)=='***' && ($qty>=0)){          
  3.         unset($_SESSION[$k]);
  4.     }
  5. }
saludos.
Nopp.... no funciona... aun siguen vivas las variables session que deseo eliminar... alguna otra idea ?
  #4 (permalink)  
Antiguo 27/12/2010, 17:39
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 14 años
Puntos: 51
Respuesta: Aplicar unset a varias variables session...

Probaste con:


Código PHP:
Ver original
  1. foreach($_SESSION as $k => $qty){
  2.     if (substr($k,0,3)=='***' && ($qty>=0)){          
  3.         $_SESSION[$k] = "";
  4.     }
  5. }

Es un poco rebuscado, pero he tenido que utilizarlo así a veces
  #5 (permalink)  
Antiguo 27/12/2010, 17:40
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 6 meses
Puntos: 88
Respuesta: Aplicar unset a varias variables session...

pues para cuestiones de prueba hice esto y me funciono
Código PHP:
Ver original
  1. $SESSION=array('a'=>1,'***b'=>2,'c'=>3,'***d'=>4);
  2. foreach($_SESSION as $k => $qty){
  3.     if (substr($k,0,3)=='***' && ($qty>=0)){          
  4.         unset($SESSION[$k]);
  5.     }
  6. }
  7. var_dump($SESSION);
checa como esta formada tu variable con var_dump($_SESSION).
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #6 (permalink)  
Antiguo 12/01/2011, 16:19
 
Fecha de Ingreso: febrero-2008
Mensajes: 409
Antigüedad: 16 años, 10 meses
Puntos: 2
Sonrisa Respuesta: Aplicar unset a varias variables session...

Cita:
Iniciado por eits Ver Mensaje
pues para cuestiones de prueba hice esto y me funciono
Código PHP:
Ver original
  1. $SESSION=array('a'=>1,'***b'=>2,'c'=>3,'***d'=>4);
  2. foreach($_SESSION as $k => $qty){
  3.     if (substr($k,0,3)=='***' && ($qty>=0)){          
  4.         unset($SESSION[$k]);
  5.     }
  6. }
  7. var_dump($SESSION);
checa como esta formada tu variable con var_dump($_SESSION).
Wow ! ya se lo que no funcionaba !!! era algo muy simple...estaba poniendo :

unset($SESSION[$k]);

en vez de :

unset($_SESSION[$k]);


Ahora si.... y pensar que una tontera asi me tuvo mas de una semana !!!

Etiquetas: session, unset, variables
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:28.