Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

al recargar no accedo metodos

Estas en el tema de al recargar no accedo metodos en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, Tengo una clase llamada carnet en la cual he hecho una serie de metodos (funciones) para gestionar carnets. Pues bien el caso es que ...
  #1 (permalink)  
Antiguo 04/04/2005, 02:51
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
Exclamación al recargar no accedo metodos

Hola,

Tengo una clase llamada carnet en la cual he hecho una serie de metodos (funciones) para gestionar carnets.

Pues bien el caso es que tengo unos listados que me los hacen unos metodos. Al final de la clase, despues de la llave de cierre de la clase, tengo esto:

session_start();
if (!isset($_SESSION["ocarnet"])){
$_SESSION["ocarnet"] = new carnet();
}

Para que me cree en una variable de sesion el objeto carnet.

Pues bien, desde una php llamo a los metodos de esta clase y todo va bien, pero en el momento que refresco esta pagina los metodos ya no salen. El la variable de sesion sigue existiendo (lo he comprobado con isset) pero no puedo acceder ni a los metodos del objeto ni a sus atributos.

Alguna sugerencia?
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #2 (permalink)  
Antiguo 04/04/2005, 09:03
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 6 meses
Puntos: 1
asegurate de leer y entender esto antes de continuar
http://www.php.net/manual/en/languag...ialization.php
  #3 (permalink)  
Antiguo 05/04/2005, 00:43
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
Lo he leido pero no creo que lo haya entendido bien, dice algo asi como que tengo que guardar el objeto serializado en una variable, no?

Me lo puedes explicar tu un poco mejor?, te lo agradeceria.

Gracias.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #4 (permalink)  
Antiguo 05/04/2005, 06:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Revisa este mensaje (y respuesta concreta de jpinedo):

http://www.forosdelweb.com/f68/array-objetos-como-paso-script-otro-281281/

No es necesario serializar el objeto .. pero si que debes conocer que al propagar un objeto por una sesión ... los métodos se pierden, por ende hay que llamar a tu classe (incluirla) en todos los scripts que lo necesites para hacer cosas tipo

Código PHP:
<?
include("tu_objeto.php");
session_start();
if (isset(
$_SESSION['objeto'])){
   
$objeto=$_SESSION['objeto'];
} else {
   
$objeto=new objeto();
}

// usas los métodos de tu objeto como de constumbre.
$objeto->metodo();
?>
Un saludo,

Última edición por Cluster; 07/04/2005 a las 13:42
  #5 (permalink)  
Antiguo 07/04/2005, 13:27
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Claro, el asunto, es incluir la definición de la clase antes de hacer el session_start().
Saludos
  #6 (permalink)  
Antiguo 07/04/2005, 13:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Cita:
Iniciado por jpinedo
Claro, el asunto, es incluir la definición de la clase antes de hacer el session_start().
Saludos
Ops! .. tienes razón . .se me pasó el session_start() .. voy a corregir mi mensaje anterior por si acaso.

Un saludo,
  #7 (permalink)  
Antiguo 11/04/2005, 12:28
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 20 años, 7 meses
Puntos: 4
Efectivamente, el problema era el orden en que ponia las cosas: yo ponia antes el session_start() que los includes... detalle importante, no sabia que esto podia darme un error de ese tipo.
Pues solucionado !!!

Una vez mas garcias a todos por la ayuda incondicional !!!
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:45.