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

El registro es Gratis en Foros del Web
Respuesta
 
Herramientas Buscar en Tema Desplegado
Antiguo 20/04/08, 07:52:02   #1 (permalink)
chcma tiene un saldo positivo de karma
 
Registrado: jun 2003
Ubicación: Asturias
Mensajes: 1.814
chcma is offline  
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.
  Responder Con Cita
Antiguo 20/04/08, 09:59:36   #2 (permalink)
zsamer tiene algunos puntos positivos de karma
 
Registrado: nov 2003
Mensajes: 738
zsamer is offline  
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');
  Responder Con Cita
Antiguo 28/04/08, 13:48:40   #3 (permalink)
Masane ha deshabilitado el Karma
 
Registrado: mar 2008
Mensajes: 17
Masane is online now  
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 ;)
  Responder Con Cita
Antiguo 28/04/08, 17:54:35   #4 (permalink)
zsamer tiene algunos puntos positivos de karma
 
Registrado: nov 2003
Mensajes: 738
zsamer is offline  
Re: Problema con objeto en sesión.

Cita:
Originalmente publicado 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
  Responder Con Cita
Respuesta


Califica este Tema - Problema con objeto en sesión..

Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado Califica este Tema
Califica este Tema:

Reglas del foro
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está activado
Las caritas están activado
Código [IMG] está activado
Código HTML está desactivado


Todas las horas son GMT -6. La hora es 15:49:26.

Message Board Statistics

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 94 95 96