Urgente: Ayuda con sesiones

esther
07 de Junio del 2004
Hola tengo un problemilla al trabajar con sesiones. Almaceno un objeto en una sesion y cuando quiero recuperar los valores se pierden.
Este es el código que almacena el objeto en la sesión:
$operario = new Usuario;
$operario = $operario->buscarUsuario($usuario);
if (($operario->codigo == $usuario) && ($operario->paswd == $contrasena) && $usuario!="" && $contrasena!=""){
//Iniciamos la sesion y guardamos el operario
session_start();
session_register('operario'); ?>
}


En otra página quiero recuperar el objeto, por ejemplo visualizar uno de sus atributos:
session_start();
if(session_is_registered('operario')){
echo "Grupo: ".$objeto->idGrupo;
}

Alguien me podría ayudar. Gracias
y no saca nada.

esther
07 de Junio del 2004
Me equivoqué al final
echo "Grupo: ".$operario->idGrupo;

no sale nada


07 de Junio del 2004
ah.... hmmm.... una observación... en tu condicional IF() es reduntante chequear si $operario y $contrasena no sean " "...
De hecho con el simple hecho que estes chequeando que operario y contraseña tengan valores, ya no necesitas el resto... es obvio, quiero decir, cuando estas usando un 'logical operator' como && las dos condicionales tienen que ser ciertas para ejecutar el programa... yo quitaria la parte $usuario!="" && $contrasena!=""...

entro de poco buelvo con lo de las sesiones.


07 de Junio del 2004
Siento la tardanza, estaba en la oficina y no podia tardarme mucho tiempo aqui.

Para usar la función session_is_registered() hay que registrar una variable global en la sesión actual. session_is_registered() verificará si tal variable existe.

En otras palabras para que tu código funcione, tedria que estar asi:

global $operario; // agregar esta línea para registrar la variable global
session_start();
session_register('operario');

Tal vez te ayude.