Programación Web y Scripting > PHP

 Objeto Incompleto

(1/1)

hachicito:
este es el error:

Unknown(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition dataaccess of the object you are trying to operate on was loaded _before_ the session was started in D:\www\Cusco\Lib\View\IUSuscripcion.php on line 32


El problema es el siguiente tengo una clase IUBase()
en su constructor inicio la session:

session_start();
 luego inicializa una variable de session
 if( !isset($_SESSION['dataAccess']) )
{
   $_SESSION['dataAccess']= new dataAccess();
   $_SESSION['dataAccess']->connect();//este es cualquier funcion
}


Luego tengo otra clase IUSuscrip que extends IUBase
en su constructor tengo

{
  parent::IUBase();

  $_SESSION['dataAccess']->connect();//intento llamar a la variable de session //definida en IUBase()

}


TODO LO ANTERIOR ES SOLO DEFINICIONES DE CLASES

ESTE SCRIPT SE EJECUTA EN ESTA SECCION:
______________________________________
$page = new IUSuscrip();
...
..
______________________________________

cuando el script hace $page = new IUSuscrip();
la primera ves que cargo la pagina, primero
entra en el constructor IUSuscrip()
alli dentro lo que ejecuta antes que nada es parent::IUBase()
en IUBase() se inicia la session, se inicializa la variable de session 'dataAccess',
ejecuta connect.

luego sale de IUBAse, y ejecuta denuevo $_SESSION['dataAccess']->connect();

ENTONCES LA PRIMERA VEZ QUE CARGO LA PAGINA, TODO ESTAS DE LA HOSTIA
 CORRER NORMAL.

Pero cuando refresco la pagina ese es el problema,
se vuelve a ejecutar:
______________________________________
$page = new IUSuscrip();
...
..
______________________________________

la session es la misma..., luego  ya no entra a
if(!isset($_SESSION['dataAccess'])), por que ya existe

pero cuando sale de parent::IUBase();

no puede ejecutar $_SESSION['dataAccess']->connect();

LA PREGUNTA ES: por que coño no puede, si obviamente ya existe la variable de session.

y me aparece ese jodido message de error.

SI LO QUE ESCRIBI ES MUY CONFUSO
SOLO LES PIDO UNA COSA:

COMO HAGO PARA GUARDAR UN OBJETO(CLASSE), COMO VARIABLE SE SESSION

Y LUEGO A UTILIZO EN MIS PAGINAS.

POR EJEMPLO QUIERO PONER UN OBJETO CARROCOMPRAS COMO VARIABLE DE SESSION, Y DESDE CUALQUIERA DE MIS  PAGINAS, PODER ACCESAR A ESTE OBJETO Y AGREGAR ITEM, ETC

HAROLD VALDIVIA GARCIA.

hachicito@yahoo.es

gnfrs:

--- Código: Text ---<?session_start(); class chacha {   function chacha() {   }   function ok() {    echo 'ok';  }} if(!isset($_SESSION['obj'])) {  $_SESSION['obj'] = new chacha();} $_SESSION['obj']->ok();?> 
No inicies sesión dentro de un objeto, eso tiene poca lógica ya que la sesión se puede utilizar para miles de cosas.

Enviame el script si querés y trato de arreglarlo.

Saludos.

Navegación

[0] Índice de Mensajes

Ir a la versión completa