Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Frameworks y PHP orientado a objetos (http://www.forosdelweb.com/f68/)
-   -   Problema con objeto en sesión. (http://www.forosdelweb.com/f68/problema-con-objeto-sesion-577948/)

chcma 20/04/2008 07:52

Problema con objeto en sesión.
 
Buenas tardes foreros:

Tengo un objeto que lo estoy almacenando en sesión y luego intento recuperar su variable. Si es la primera vez que ejecuto la página, parece que funciona bien, pero al actualizar la página me sale un error.

El simple código que tengo es el siguiente:

Código:

<?php
session_start();

include('Concepto.php');
include('Carro.php');

if( !isset($_SESSION['objCarro']) )
{
        $objCarro = new Carro();
        $_SESSION['objCarro'] = $objCarro;
}

$objCarro = $_SESSION['objCarro'];
$indice = $objCarro->NumElementos();
echo $indice;
?>

Pues bien, la primera vez que entro en la página, aparece 0. Ok, eso está correcto, sin embargo, si actualizo la página me sale el siguiente error:

Código:

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 &quot;Carro&quot; 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 J:\webs\pruebaPHP\paginaInicio.php on line 14
En fin, espero puedan ayudarme.

Desde ya, un saludo.

zsamer 20/04/2008 09:59

Re: Problema con objeto en sesión.
 
tienes que incluir la clase antes de session_start().

Código PHP:

<?php
include('Carro.php');

session_start();

include(
'Concepto.php');


Masane 28/04/2008 13:48

Re: Problema con objeto en sesión.
 
normalmente deberias de serializar y deserializar los objetos q gestionas por sesion... debes acer algo asi:

Código PHP:

$_SESSION["objeto"] = serialize($objeto); // Para guardarlo en sesion
$objeto unserialize($_SESSION["objeto"]); // Para sacarlo de la sesion 

suerte ;)

zsamer 28/04/2008 17:54

Re: Problema con objeto en sesión.
 
Cita:

Iniciado por Masane (Mensaje 2382885)
normalmente deberias de serializar y deserializar los objetos q gestionas por sesion... debes acer algo asi:

Código PHP:

$_SESSION["objeto"] = serialize($objeto); // Para guardarlo en sesion
$objeto unserialize($_SESSION["objeto"]); // Para sacarlo de la sesion 

suerte ;)

NO es necesario, PHP5 lo hace automático en las sesiones $_SESSION.

salu2


La zona horaria es GMT -6. Ahora son las 19:53.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.