Foros del Web » Programando para Internet » PHP »

Limpiar el valor de una variable de sesion

Estas en el tema de Limpiar el valor de una variable de sesion en el foro de PHP en Foros del Web. Saludos, tengo varias variables de sesion, y quiero limpiar el valor de una de las variables de session, como se puede hacer?...
  #1 (permalink)  
Antiguo 01/09/2008, 18:53
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años
Puntos: 8
Limpiar el valor de una variable de sesion

Saludos, tengo varias variables de sesion, y quiero limpiar el valor de una de las variables de session, como se puede hacer?
__________________
El aprendiz.
  #2 (permalink)  
Antiguo 01/09/2008, 19:02
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Limpiar el valor de una variable de sesion

algo asi tio:
Código PHP:
<?php
session_start
();
session_unset();
session_destroy();
header("Location: index.php");//donde lo redireccionas....
?>
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #3 (permalink)  
Antiguo 01/09/2008, 19:03
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: Limpiar el valor de una variable de sesion

Puedes ponerlo como vacio
$_SESSION['mivalor']='';

o

unset($_SESSION['mivalor']) //eliminas la variable

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #4 (permalink)  
Antiguo 01/09/2008, 19:24
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Limpiar el valor de una variable de sesion

@masterojitos, esas funciones son para destruir una sesión. Lo que juandedios pregunta es como eliminar UNA sola variable.

@Genetix, al darle un valor de vacío a la variable, la función isset() aplicada sobre ella seguirá devolviendo true. Examinen este código y vean todas las posibles formas de eliminar una variable y de pseudoeliminarla:

Código PHP:
<?php
 
session_start
();
 
echo 
'<pre>';
 
// Esto crea una variable
$_SESSION['variable'] = 'valor';
 
echo 
"<b>Estado de la variable original</b> \n";
 
echo 
"isset(): ";
var_dump( isset( $_SESSION['variable'] ) ); // Imprime true porque la variable si existe
echo "empty(): ";
var_dump( empty( $_SESSION['variable'] ) ); // Imprime false porque la variable tiene un contenido
 
echo "var_dump(): ";
var_dump$_SESSION['variable'] );
 
echo 
"\n";
 
// Esto no elimina la variable
$_SESSION['variable'] = '';
 
echo 
"<b>Estado de la variable asignandole un valor vacío ''</b> \n";
 
echo 
"isset(): ";
var_dump( isset( $_SESSION['variable'] ) ); // Imprime true porque la variable si existe
echo "empty(): ";
var_dump( empty( $_SESSION['variable'] ) ); // Imprime true porque la variable está vacía, pero eso no significa que ya no existe
 
echo "var_dump(): ";
var_dump$_SESSION['variable'] );
 
echo 
"\n";
 
// tampoco la elimina
$_SESSION['variable'] = false;
 
echo 
"<b>Estado de la variable asignandole un valor de falso false</b> \n";
 
echo 
"isset(): ";
var_dump( isset( $_SESSION['variable'] ) ); // Imprime true, pues la variable existe y tiene asignado el valor booleano false
echo "empty(): ";
var_dump( empty( $_SESSION['variable'] ) ); // Imprime true, pues la variable no tiene un contenido, tiene un valor booleano
 
echo "var_dump(): ";
var_dump$_SESSION['variable'] );
 
echo 
"\n";
 
// Esto no la elimina
$_SESSION['variable'] = 0;
 
echo 
"<b>Estado de la variable asignandole un valor de 0</b> \n";
 
echo 
"isset(): ";
var_dump( isset( $_SESSION['variable'] ) ); // Imprime true, porque la variable existe
echo "empty(): ";
var_dump( empty( $_SESSION['variable'] ) ); // Imprime true, porque la variable no tiene un contenido de texto, sino es un entero
 
echo "var_dump(): ";
var_dump$_SESSION['variable'] );
 
echo 
"\n";
 
// Esto sí la elimina
unset($_SESSION['variable']);
 
echo 
"<b>Estado de la variable pasándole la función unset()</b> \n";
 
echo 
"isset(): ";
var_dump( isset( $_SESSION['variable'] ) ); // Imprime false, porque la variable ya no existe
echo "empty(): ";
var_dump( empty( $_SESSION['variable'] ) ); // Imprime true, porque la variable no tiene un contenido (no existe)
 
echo "var_dump(): ";
var_dump$_SESSION['variable'] );
 
echo 
"\n";
 
// Esto tambien la elimina
$_SESSION['variable'] = null;
 
echo 
"<b>Estado de la variable asignandole un valor de NULL</b> \n";
 
echo 
"isset(): ";
var_dump( isset( $_SESSION['variable'] ) ); 
echo 
"empty(): ";
var_dump( empty( $_SESSION['variable'] ) ); 
 
echo 
"var_dump(): ";
var_dump$_SESSION['variable'] );
 
?>
Imprime:
Código:
Estado de la variable original 
isset(): bool(true)
empty(): bool(false)
var_dump(): string(5) "valor"

Estado de la variable asignandole un valor vacío '' 
isset(): bool(true)
empty(): bool(true)
var_dump(): string(0) ""

Estado de la variable asignandole un valor de falso false 
isset(): bool(true)
empty(): bool(true)
var_dump(): bool(false)

Estado de la variable asignandole un valor de 0 
isset(): bool(true)
empty(): bool(true)
var_dump(): int(0)

Estado de la variable pasándole la función unset() 
isset(): bool(false)
empty(): bool(true)
var_dump(): NULL

Estado de la variable asignandole un valor de NULL 
isset(): bool(false)
empty(): bool(true)
var_dump(): NULL
Con esto vemos que sólo asignándole un valor NULL o aplicando la función unset() podremos eliminar realmente una variable.

Saludos,

EDITO: var_dump() se usa para imprimir el valor de una variable y el tipo de elemento que representa. Muy útil a la hora de programar y usar diversos tipos de variables.

Última edición por okram; 01/09/2008 a las 19:31
  #5 (permalink)  
Antiguo 02/09/2008, 09:33
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años
Puntos: 8
Respuesta: Limpiar el valor de una variable de sesion

Gracias okram, me sirvió de mucho.
__________________
El aprendiz.
  #6 (permalink)  
Antiguo 02/09/2008, 10:33
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: Limpiar el valor de una variable de sesion

okram
Cita:
@Genetix, al darle un valor de vacío a la variable, la función isset() aplicada sobre ella seguirá devolviendo true. Examinen este código y vean todas las posibles formas de eliminar una variable y de pseudoeliminarla:
Estoy de acuerdo contigo.

Cita:
Saludos, tengo varias variables de sesion, y quiero limpiar el valor de una de las variables de session, como se puede hacer?
Pero según leía la pregunta, el desea limpiar el valor y no eliminar la variable. que no es igual :)

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #7 (permalink)  
Antiguo 03/09/2008, 21:48
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años
Puntos: 8
Respuesta: Limpiar el valor de una variable de sesion

Bueno chicos no se peleen, ambos estuvieron bien, jeje, gracias por ayudarme.
__________________
El aprendiz.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:26.