Retroceder   Foros del Web > Programación para sitios web > PHP > PHP orientado a objetos

Respuesta
 
Herramientas Desplegado
Antiguo 20-abr-2008, 07:52   #1 (permalink)
chcma está en el buen camino
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 1.817
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.
__________________
Charlie.
chcma está desconectado   Responder Citando
Antiguo 20-abr-2008, 09:59   #2 (permalink)
zsamer tiene algunos puntos positivos de karma
 
Fecha de Ingreso: noviembre-2003
Mensajes: 739
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');
zsamer está desconectado   Responder Citando
Antiguo 28-abr-2008, 13:48   #3 (permalink)
Masane ha deshabilitado la reputación
 
Fecha de Ingreso: marzo-2008
Mensajes: 20
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 ;)
Masane está desconectado   Responder Citando
Antiguo 28-abr-2008, 17:54   #4 (permalink)
zsamer tiene algunos puntos positivos de karma
 
Fecha de Ingreso: noviembre-2003
Mensajes: 739
Re: Problema con objeto en sesión.

Cita:
Iniciado por Masane Ver Mensaje
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
zsamer está desconectado   Responder Citando
Respuesta
Califica este Tema - Problema con objeto en sesión..


Herramientas
Desplegado Califica este Tema
Califica este Tema:

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La zona horaria es GMT -6. Ahora son las 12:14.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93