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

Respuesta
 
Herramientas Desplegado
Antiguo 04-abr-2005, 02:51   #1 (permalink)
elangelcaido está en el buen camino
 
Avatar de elangelcaido
 
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 889
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...
________
Surfglassy.com Surf en Asturias
lukos.org
elangelcaido está desconectado   Responder Citando
Antiguo 04-abr-2005, 09:03   #2 (permalink)
sism82 ha deshabilitado el karma
 
Avatar de sism82
 
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Enviar un mensaje por MSN a sism82 Enviar un mensaje por Yahoo  a sism82
asegurate de leer y entender esto antes de continuar
http://www.php.net/manual/en/languag...ialization.php
__________________
Se debe llamar GNU/Linux, no solamente Linux, mas info en: http://www.gnu.org/gnu/gnu-linux-faq.es.html
sism82 está desconectado   Responder Citando
Antiguo 05-abr-2005, 00:43   #3 (permalink)
elangelcaido está en el buen camino
 
Avatar de elangelcaido
 
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 889
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...
________
Surfglassy.com Surf en Asturias
lukos.org
elangelcaido está desconectado   Responder Citando
Antiguo 05-abr-2005, 06:01   #4 (permalink)
Moderador
Cluster llegará a ser famoso muy prontoCluster llegará a ser famoso muy pronto
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago - Chile
Mensajes: 34.436
Revisa este mensaje (y respuesta concreta de jpinedo):

array de objetos. ¿Cómo los paso de un script a otro?

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-abr-2005 a las 13:42.
Cluster está desconectado   Responder Citando
Antiguo 07-abr-2005, 13:27   #5 (permalink)
Moderador PHP
jpinedo ha deshabilitado el karma
 
Avatar de jpinedo
 
Fecha de Ingreso: septiembre-2003
Ubicación: Piura
Mensajes: 2.748
Claro, el asunto, es incluir la definición de la clase antes de hacer el session_start().
Saludos
jpinedo está desconectado   Responder Citando
Antiguo 07-abr-2005, 13:41   #6 (permalink)
Moderador
Cluster llegará a ser famoso muy prontoCluster llegará a ser famoso muy pronto
 
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago - Chile
Mensajes: 34.436
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,
Cluster está desconectado   Responder Citando
Antiguo 11-abr-2005, 12:28   #7 (permalink)
elangelcaido está en el buen camino
 
Avatar de elangelcaido
 
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 889
Alegría

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...
________
Surfglassy.com Surf en Asturias
lukos.org
elangelcaido está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

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 19:49.


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