Foros del Web » Programando para Internet » PHP »

Explicacion variable $_SESSION

Estas en el tema de Explicacion variable $_SESSION en el foro de PHP en Foros del Web. Hola ke tal maestros, con la duda del dia...jejeje.... Quisiera que alguien me explicara la variable SESSION, ya que en el manual online de php, ...
  #1 (permalink)  
Antiguo 19/02/2008, 12:29
 
Fecha de Ingreso: diciembre-2007
Ubicación: Frente al ordenador...
Mensajes: 139
Antigüedad: 16 años, 4 meses
Puntos: 1
Explicacion variable $_SESSION

Hola ke tal maestros, con la duda del dia...jejeje....
Quisiera que alguien me explicara la variable SESSION, ya que en el manual online de php, no viene técnicamente que es lo que hace, asi que sería de gran ayuda a quien me resolviera esta duda..
Gracias...
  #2 (permalink)  
Antiguo 19/02/2008, 12:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Explicacion variable $_SESSION

La variable $_SESSION sirve para poder tener datos persistentes entre varias paginas y requests PHP en el servidor.

Saludos.
  #3 (permalink)  
Antiguo 19/02/2008, 13:14
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Re: Explicacion variable $_SESSION

O sea, por ejemplo, te sirve para hacer un login. Es una variable que te guarda datos necesarios que le podes dar mucha utilidad.

Saludos.
  #4 (permalink)  
Antiguo 19/02/2008, 13:29
 
Fecha de Ingreso: febrero-2008
Mensajes: 31
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Explicacion variable $_SESSION

Basicamente, una variable que la puedes utilizar en las paginas de tu eleccion, y almacenar datos dentro de ella.

Para eso nececitas crearla o iniciarla y cuando no la nececites mas, finalizarla, los datos se almacenan en el servidor al igual que las variables normales.

Saludos.
  #5 (permalink)  
Antiguo 19/02/2008, 13:29
Avatar de Henki  
Fecha de Ingreso: febrero-2008
Mensajes: 74
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Explicacion variable $_SESSION

o tambien sirve para recoger un valor de un desplegable y pasarlo a otro documento php, que es como lo uso yo principalmente.
pero hablando del tema, aprovecho para hacer una preguntilla. En un libro de php que tengo recuerdo que decia sobre esta variable que permite guardar un valor para poderlo usar en otro documento php pero que este valor se eliminaba tras ser usado. Yo lo he usado bastante y no es asi, cosa que tampoco me serviria para nada, pero me quede con la duda porque no quisiera que el programa me fallara en el momento menos pensado. Un valor pasado como variable de sesion, hasta cuando se mantiene? Cuando deja de ser valido?
salu2
  #6 (permalink)  
Antiguo 19/02/2008, 13:31
 
Fecha de Ingreso: marzo-2005
Mensajes: 68
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: Explicacion variable $_SESSION

Son variable globales, en las que puedes guardar lo que quieras.
__________________
:adios: Janyta
  #7 (permalink)  
Antiguo 19/02/2008, 13:44
Avatar de Henki  
Fecha de Ingreso: febrero-2008
Mensajes: 74
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Explicacion variable $_SESSION

Cita:
Iniciado por Kinopio Ver Mensaje
Hola ke tal maestros, con la duda del dia...jejeje....
Quisiera que alguien me explicara la variable SESSION, ya que en el manual online de php, no viene técnicamente que es lo que hace, asi que sería de gran ayuda a quien me resolviera esta duda..
Gracias...
Aqui se explica perfectamente, por cierto:
http://www.forosdelweb.com/f18/faqs-php-530600/#post238992
  #8 (permalink)  
Antiguo 19/02/2008, 16:12
 
Fecha de Ingreso: febrero-2008
Mensajes: 31
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Explicacion variable $_SESSION

Cita:
Un valor pasado como variable de sesion, hasta cuando se mantiene? Cuando deja de ser valido?
Lo mantenes el tiempo que quieras, desde el php.ini creria o mediante un script, lo que si es seguro es que cuando el usuario cierre la ventana del explorador es probable que la sesion se pierda.
  #9 (permalink)  
Antiguo 02/03/2008, 13:17
Avatar de Henki  
Fecha de Ingreso: febrero-2008
Mensajes: 74
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Explicacion variable $_SESSION

Gracias Nico, mas o menos es lo que me pensaba.
Una pregunta mas sobre las variables de sesion: es posible pasar todo un array? No he conseguido hacerlo pero no se si es que lo hago mal o es que no puede hacerse
salu2 y gracias
  #10 (permalink)  
Antiguo 03/03/2008, 09:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Explicacion variable $_SESSION

Si se puede realizar, lo único que no puedes pasar por las variables de sesión son recursos (como links a BD, punteros a archivos, etc.).

De ahí en fuera puedes pasar objetos, arreglos, etc. en variables de sesión.

Saludos.
  #11 (permalink)  
Antiguo 05/03/2008, 12:56
Avatar de Henki  
Fecha de Ingreso: febrero-2008
Mensajes: 74
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Explicacion variable $_SESSION

Cita:
Iniciado por GatorV Ver Mensaje
Si se puede realizar, lo único que no puedes pasar por las variables de sesión son recursos (como links a BD, punteros a archivos, etc.).

De ahí en fuera puedes pasar objetos, arreglos, etc. en variables de sesión.

Saludos.
y como seria?
yo tengo un bucle que carga un valor eun una variable y la muestra por pantalla. De modo que habia pensado en crear un array que fuera conteniendo todos los valores posibles de ese array, y luego sacar el arrar como variable de sesion.
Por tanto, dentro del bucle he hecho: $Array[]=$Variable;
Y despues del bucle: $_SESSION['Array']=$Array;
Seria asi? Al probar el codigo me da un error diciendo: Fatal error: [] operator not supported for strings. Que falla?
salu2 y gracias
  #12 (permalink)  
Antiguo 05/03/2008, 13:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Explicacion variable $_SESSION

Estas declarando tu arreglo al principio?:
Código PHP:
$Array = array(); // <- Esto..
while( bucle ) {
    
$Array[] = $Variable;
}

$_SESSION['Array'] = $Array
Saludos.
  #13 (permalink)  
Antiguo 05/03/2008, 15:10
Avatar de Henki  
Fecha de Ingreso: febrero-2008
Mensajes: 74
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Explicacion variable $_SESSION

Cita:
Iniciado por GatorV Ver Mensaje
Estas declarando tu arreglo al principio?:
Código PHP:
$Array = array(); // <- Esto..
while( bucle ) {
    
$Array[] = $Variable;
}

$_SESSION['Array'] = $Array
Saludos.
Pues no lo habia hecho, gracias por la ayuda. La variable $_SESSION no tengo que configurarle de ningun modo especial para que acepte un array? Es que hago como tu dices, entonces creo otro php, hago mas o menos lo mismo:

$Array = array();
$Array=$_SESSION['Array'];
y me da un error: Undefined variable: _SESSION in C:\Archivos de.....
No es correcto como esta hecho?
salu2 y gracias de nuevo
  #14 (permalink)  
Antiguo 05/03/2008, 15:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Explicacion variable $_SESSION

Si te aparece undefined es porque te falta llamar a session_start() al inicio de tu archivo:
Código PHP:
session_start();
$Array $_SESSION['Array']; 
Saludos.
  #15 (permalink)  
Antiguo 05/03/2008, 15:25
Avatar de Henki  
Fecha de Ingreso: febrero-2008
Mensajes: 74
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Explicacion variable $_SESSION

Cita:
Iniciado por GatorV Ver Mensaje
Si te aparece undefined es porque te falta llamar a session_start() al inicio de tu archivo:
Código PHP:
session_start();
$Array $_SESSION['Array']; 
Saludos.
Joder macho, si es que estoy mas idiota que yo que se. Muchas gracias, por esto y por ayudarme en el otro post. A ver si consigo acabar este dichoso proyecto de una vez que ya empiezo a estar mas que harto de encontrarme con problemas cada dos por tres. Tan comodos que son los lenguajes de programacion con debugger...
salu2
  #16 (permalink)  
Antiguo 05/03/2008, 15:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Explicacion variable $_SESSION

Te recomendaría en ese caso usar un editor que tenga debugger, como NetBeans, EclipsePHP, Zend Studio o PHP Edit.

Todos estos tienen debuggers locales y remotos que pueden ayudarte en tu tarea de programar.

Saludos.
  #17 (permalink)  
Antiguo 06/03/2008, 10:56
Avatar de Henki  
Fecha de Ingreso: febrero-2008
Mensajes: 74
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Explicacion variable $_SESSION

Cita:
Iniciado por GatorV Ver Mensaje
Te recomendaría en ese caso usar un editor que tenga debugger, como NetBeans, EclipsePHP, Zend Studio o PHP Edit.

Todos estos tienen debuggers locales y remotos que pueden ayudarte en tu tarea de programar.

Saludos.
No sabia que existiera la posibilidad, lo probare a ver.
Pero volviendo a lo comentado anteriormente, y perdon por ser tan pesado, pero seguro que asi se conseguiria pasar el array como variable de sesion? En otro php he intentado usarlo y me daba error, de modo que he probado con un simple bucle for a ver si era capaz de sacar algunos datos del array, y me da este error: "Notice: Undefined offset: 4 in C:\Archivos de..." que creo que quiere decir que no hay datos en el array. Y ya no se que puedo estar haciendo mal
salu2 y gracias
  #18 (permalink)  
Antiguo 06/03/2008, 11:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Explicacion variable $_SESSION

Si publicaras el código que usas estaría mejor para ver donde esta el error, como te comento PHP no tiene problemas para guardar arreglos en una variable de sesión, de hecho la variable $_SESSION es un arreglo.

Prueba este código:
pagina1
Código PHP:
session_start();
$_SESSION['arreglo'] = array( "uno""dos""tres" ); 
pagina2:
Código PHP:
session_start();
var_dump$_SESSION['arreglo'] ); 
Así podrás ver los valores entre las dos paginas.

Saludos.
  #19 (permalink)  
Antiguo 09/03/2008, 11:59
Avatar de Henki  
Fecha de Ingreso: febrero-2008
Mensajes: 74
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Explicacion variable $_SESSION

Cita:
Iniciado por GatorV Ver Mensaje
Si publicaras el código que usas estaría mejor para ver donde esta el error, como te comento PHP no tiene problemas para guardar arreglos en una variable de sesión, de hecho la variable $_SESSION es un arreglo.

Prueba este código:
pagina1
Código PHP:
session_start();
$_SESSION['arreglo'] = array( "uno""dos""tres" ); 
pagina2:
Código PHP:
session_start();
var_dump$_SESSION['arreglo'] ); 
Así podrás ver los valores entre las dos paginas.

Saludos.
Pues funciona perfectamente, y tambien con mi array, lo que me ha permitido ver un par de errores que tenia y ya me funciona perfectamente. Muchas gracias!
un saludo
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 (incluyéndote)




La zona horaria es GMT -6. Ahora son las 12:46.