CakePHP: Variable de sesión en vista

21.dic 2007 Envía un trackback

Tenía un pequeño problema que conseguí resolver. Para un desarrollo había creado un entorno en el cual me daba mucha pereza integrar un sistema de login como othAuth con lo que intenté hacerlo a mano, como siempre.

Una variable de sesión que diga si el usuario se ha autentificado correctamente o no, en base a eso montamos el acceso a las distintas zonas del site. Lo que viene siendo el menú principal es un element y no sabía si era posible usar las variables de sesión en Vista.

La primera pretensión -para entender el uso- es hacer que el típico enlace de Login se convierta en Logout si el usuario está dentro. Una vez el usuario entra al sistema, cuando se comprueba que sus credenciales son perfectamente válidas se crea un:
function login()
{
        if($creds=='TRUE')
                $this->Session->write('logged','1');
        else
                $this->flash('Pos va ser que no', '/users/login');
}
 
Y ahora ¿cómo usamos esa variable de sesión en nuestro elemento particular?. Después de varias pruebas (thanks minskog) me he dado cuenta de la sencillez del asunto. Directamente en vista usamos la variable $session:
if($session->read('logged')=='1')
        echo '<li><a href="/users/logout"<Logout>/a></li>';
else
        echo '<li><a href="/users/login"<Login>/a></li>';
 
Con esto y un bizcocho... nunca te acostarás el día antes de que te toque la lotería sin saber una cosa más ;).
cake bake vista session view

Comentarios
Gravatar Lucy Sanchez@08.02.2008, 'Re: CakePHP: Variable de sesión en vista'

hola sabes tengo una duda con respecto a la variables de session en las vistas, cuando envio una variable que posee un unico valor puedo mostrarla en la vista pero cuando envio una variable compuesta no puedo acceder a cada uno de los elementos de la varible, por ejemplo la varible producto la cual posee un id, nombre, descripcion, recibo la variable de session en la vista pero no se como acceder a los elementos.
Te agradeceria mucho que me ayudaras por favor ya que no encuentro informacion sobre mi problema.
te antemano mucha gracias.

Gravatar r0sk@08.02.2008, 'Re: CakePHP: Variable de sesión en vista'

Prueba a hacer un debug() de esa variable para ver lo que contiene y cómo se puede acceder a los valores de la misma.

Gravatar Andrea@14.02.2008, 'Re: CakePHP: Variable de sesión en vista'

Hola hace poco tenia el mismo problema y lo que hice fue poner en la vista
($_SESSION['Producto']['id'])

Gravatar Lucy Sanchez@25.02.2008, 'Re: CakePHP: Variable de sesión en vista'

Ok gracias al hacer el debug pude darme cuenta de mi error


Escribe tu comentario
 
 
Guardar datos
Escribe tu comentario:
captcha


Intenta que tu comentario sea interesante y con información relevante al tema de la entrada. BBCodes disponibles: [url=http://direccion]texto[/url], negrita: [b]texto[/b], itálica: [i]texto[/i], subrayada: [u]texto[/u]. Para mencionar o citar a alguien (quote): [cita]texto[/cita]