Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/04/2008, 05:32
centrion_75
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 17 años
Puntos: 0
Pregunta Problemas con las variables de las sesiones

Hola a todos,

os comento:

tengo un formulario (creado dinámicamente), que dependiendo de la opción llama a una acción u otra. Para que conserve los datos, utilizo sesiones. Hasta aquí todo bién.

Tengo objetos llamados "Tutoria" y vectores de objetos "TutoriasRes".

Cuando inserto una tutoria por primera vez hago esto:
Código PHP:
$tutoriasRes[0]=$tutoria;
                    
$tutoriasRes[1]=$tutoria;
                    
$_SESSION['tutorias2']=$tutoriasRes;
                    echo
"ENtro por primera vez 1: ".$_SESSION['tutorias2'][0]->getDia()."</br>";
                    echo
"ENtro por primera vez 2: ".$_SESSION['tutorias2'][1]->getDia()."</br>";
                    echo 
"nº de elementos de la sesión: ".count($_SESSION['tutorias2'])."</br>";
                    echo 
"nº de elementos del vector: ".count($tutoriasRes)."</br>"
donde $tutoriasRes, ya esta inicializado previamente y $_SESSION['tutorias2'] es la primera vez que se crea. Esto me funciona.

Pero cuando quiero añadir otra, hago esto:

Código PHP:
if (isset($_SESSION['tutorias2']))
                {echo 
"Entro en el segundo cambio</br>";
                    echo
"Nº de elementos de Tutorias2: ".count($_SESSION['tutorias2'])."</br>";
                    echo 
"Muestro lo que tiene: ".$_SESSION['tutorias2'][0]->getDia()."</br>";
                    echo 
"Meto lo de la sesión</br>";
                    
$tutoriasRes=$_SESSION['tutorias2'];
                    
                    echo
"Tengo un cambio, C1: ".$tutoriasRes[0]->getDia()."</br>";
                    
//Añadir el cambio
                    
$tutoriasRes[count($tutoriasRes)]=$tutoria;
                    
$_SESSION['tutorias2']=$tutoriasRes;
                    echo
"Tengo un cambio, C2: ".$tutoriasRes[1]->getDia()."</br>";
                    
                } 
A partir de esto:
Código PHP:
echo "Muestro lo que tiene: ".$_SESSION['tutorias2'][0]->getDia()."</br>"
me da error. Pero me muestra que efectivamente tiene 2 elementos(que he metido adrede, para ver si lo hacía).

Nota: Los comandos echo, estan puestos porque estoy haciendo la traza del error.

El Error es el siguiente:

Código PHP:
Fatal errormain() [<a href='function.main'>function.main</a>]: The script tried to execute a method or access a property of an incomplete objectPlease ensure that the class definition &quot;Tutoria&quotof the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in C:xampphtdocsServicioTutoriasActualizarTutoriasinsertar2.php on line 107 
No sé si es que los vectores hay que pasarlos de alguna forma especial a las sesiones, o qué es lo que pasa.