Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

$_session

Estas en el tema de $_session en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola a todos: Estoy tratando de hacer funcionar en local, sobre windows vista, el siguiente código. Código PHP: <?php session_start (); class  Sesion  {     var  ...
  #1 (permalink)  
Antiguo 20/10/2009, 06:29
 
Fecha de Ingreso: octubre-2009
Mensajes: 2
Antigüedad: 14 años, 6 meses
Puntos: 0
$_session

Hola a todos:

Estoy tratando de hacer funcionar en local, sobre windows vista, el siguiente código.

Código PHP:
<?php
session_start
();

class 
Sesion {
    var 
$datos;
    var 
$aux "Objeto Sesion dentro de ambito";
    
    var 
$DEBUG;
    
    function 
Sesion (){
    global 
$DEBUG;
    
    
$this->DEBUG $DEBUG;
    
    
$this->datos $_SESSION["data"]; //aquí es donde da el error.
    
}
El caso es que en remoto funciona (aunque es una versión más antigua) y no en local (con apache 2.2.13 y php 5.3.0)

He comprobado el php.ini: register_globals = ON; session.save_path = "c:/PHP/sesiones" (he comprobado que efectivamente almacena las variables de sesión) pero siempre me da el siguiente mensaje:

Notice: Undefined index: data in C:..\Sesion.class.inc.php.

Le he dado mil vueltas y no sé que hacer. ¿Alguien podría ayudarme? Gracias.
  #2 (permalink)  
Antiguo 20/10/2009, 06:44
 
Fecha de Ingreso: noviembre-2007
Ubicación: Lanus, Buenos Aires
Mensajes: 178
Antigüedad: 16 años, 5 meses
Puntos: 14
Respuesta: $_session

es un notice porque $_SESSION["data"] no existe, si no quieres el notice antes debes comprobar que exista, por ej

Código PHP:
if (isset($_SESSION["data"])) $this->datos $_SESSION["data"]; 
  #3 (permalink)  
Antiguo 20/10/2009, 07:25
 
Fecha de Ingreso: septiembre-2009
Mensajes: 124
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: $_session

La mejor forma de solucionar eso es asi:

if(isset($_SESSION)) {
$this->datos = $_SESSION['data'];
}

Porque si pones if(isset($_SESSION['data'])) te lo va a seguir tirando. Yo tengo XAMPP en mi maquina local, y me lo da igual a ese error. Asi que, si podes, hace lo que te pase.

Saludos!
  #4 (permalink)  
Antiguo 20/10/2009, 08:20
 
Fecha de Ingreso: noviembre-2007
Ubicación: Lanus, Buenos Aires
Mensajes: 178
Antigüedad: 16 años, 5 meses
Puntos: 14
Respuesta: $_session

no, poner isset($_SESSION) esta mal porque yo puedo tener $_SESSION["cualquiercosa"] pero no tener $_SESSION["data"]...


Código PHP:
isset($_SESSION['data']) 
si quieres muestrame el error que da el XAMPP y vemos

saludos
  #5 (permalink)  
Antiguo 21/10/2009, 04:43
 
Fecha de Ingreso: octubre-2009
Mensajes: 2
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: $_session

Mil gracias a todos. He probado con la propuesta de rodrigo_00 y ya no da el notice.
Saludos,
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 00:00.