La verdad es la primera vez que me pasa algo asi!
Primer Problema:
Realizo un while, recorriendo los resultados de una consulta sql y voy asignando True a los Id de modulos que existan de la siguiente forma
$_SESSION['modulos'][$modulos['id_modulo']] = true;
para despues comprobarlos de esta manera
if($_SESSION['modulos'][15] == true) //por ejemplo
El asunto es que cuando el script que realizo esta tarea se ejecuta por segunda vez me dice que el objeto no puede usarce como array, o sea yo estoy usando una class mysql que hice y para realizar consultas creo un objeto como el siguiente
$modulos = new mysql_adapter("consulta", $coneccion);
ACLARO: La class no tiene problemas ya que la he usado en muchos otras aplicaciones y no tuvo nunca problemas!....
Ahora si, viene lo loco!....
Cuando se crea la session, paso al siguiente archivo, y en ese automaticamente se le asigna a la variable $_SESSION['modulos'] un objeto! que yo jamas asigne y queda asi
Código PHP:
[modulos] => __PHP_Incomplete_Class Object
(
[__PHP_Incomplete_Class_Name] => mysql_adapter
[sql:private] => SELECT * FROM rel_usuarios_modulos WHERE id_usuario = 1
[link:private] => 0
[resource:private] => 0
[row:private] =>
)
ahora no entiendo porque se le asigna la clase!! ensima incomplete class? que es eso??? si tengo constructores, destructores, funciones, como corresponde..
Y otra cosa que me pasa es que defino para comprobar que la sesion exista una variable $_SESSION['ok'] = true;
El problema viene cuando entro al siguiente archivo del sitio (luego del logueo) , ya que si actualizo la pagina el valor True se borra y la variable se pone vacia!.... PORQUE??? si yo nunca le dije que se vacie, es mas, nisiquiera toco los valores.....
Otra cosa rara.....
EN la comprobacion de la session OK yo tengo puesto
if ($_SESSION['ok'] == true) //tal cosa
el asunto es que si yo a $_SESSION['ok'] le pongo un valor de string como ser "asdhajhds", me toma como que esta bien! :S (como puede ser? si yo le dije que solo me dijera que esta bien si es "true!")
la verdad no entiendo nada!:... esto me supera ya que en NINGUN MOMENTO defino esos valores que van apareciendo, ni nada por el estilo!; ni en ningun momento borro el contenido de la variable de session 'ok', o sea, estara poseida mi computadora???