Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/03/2008, 02:22
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 9 meses
Puntos: 574
Guardar instancia de clase en session

Hola,

estoy programando una aplicación web que requiere validación de usuarios, mi idea seria crear una clase "conexión" que se instancie en el momento del login del usuario y guardar la instancia para poder realizar las consultas a la base de datos que necesite el usuario.

Tengo la clase creada, conecta y valida el usuario, pero no se como guardarla en la session o no esta bien definida para poder guardarla y recuperarla cuando hace falta.

Después de iniciar la session y de requerir ClaseConexion.php he hecho lo siguiente:

(pseudo código)
....

$miconexion=new ClaseConexion;

if ($miconexion.validado()){
$_SESSION["s_conexion"]=$miconexion;
...
}else{
...
}


(El constructor de la clase abre sin parámetros la conexión.)


La idea seria que en cualquier momento se pueda hacer:

$miconexionX=$_SESSION["s_conexion"];
$sql="SELECT....";
...
$miconexionX.cosulta($sql);
...

Después del primer intento obtengo el siguiente error:

Fatal error: main() [<a href='function.main'>function.main</a>]: The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "ClaseConexion" of 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:\...\palicacion.php on line 10

Intuyo que debo hacer algo para que sea "loaded _before_ unserialize()" o crear una función "a __autoload()" en la definición de la clase.

Pueden orientarme de por donde seguir, o que debo mirarme.

Gracias

Quim