Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Zend (http://www.forosdelweb.com/f182/)
-   -   consulta Zend - Sesiones (http://www.forosdelweb.com/f182/consulta-zend-sesiones-522468/)

crmm15 07/09/2007 08:46

consulta Zend - Sesiones
 
Buenos dias. Soy realmente nuevo en Zend y tengo un problema, no muy bien como manejar la session, he probado de todo y nada. el problema radica en que cuando autentico, quiero guardar el id del usuario en la session pero solo se guarda en el metodo Action donde verifico al usuario, cuando quiero verificar o necesito la session en otro Action no la tengo. Esto es lo que hago:

index.php
$session = new Zend_Session();
$registry2 = Zend_Registry::getInstance();
$registry2->set('session',$session);

IndexController.php
function autenticarAction
$session = Zend_Registry::get('session');
$session->id_persona = $id;
Zend_Registry::set('session',$session);

pero en otra Funcion o en otro Controller ya no tengo nada ahi en la session es como que la session fuese solo local a la funcion donde almacene el id. si puede alguien ayudarme explicandome o con un ejemplo lo agradesco

Genetix 07/09/2007 11:06

Re: consulta Zend
 
Hola
puedes trabajarlo de esta forma
Index.php
Código PHP:

$session = new Zend_Session_Namespace("my_session");
Zend_Registry::set("session"$session); 

IndexController.php
Código PHP:


function autenticarAction(){
$session Zend_Registry::get('session');
$session->id_persona $id;


otroController.php
Código PHP:

function indexAction(){
$session Zend_Registry::get('session');
echo 
$session->id_persona 


$session lo puedes poner en el constructor o en el init, como una variable de clase y de esa manera todos los actions pueden acceder.
Código PHP:

class TuController extends Zend_Controller_Action
{
    private 
$_session

     
public function init()
      {
 
$this->_session =  Zend_Registry::get('session');
     }


Saludos!

eugenioclrc 01/12/2007 19:17

Re: consulta Zend - Sesiones
 
Que pesadella ese zend!!! yo normalmente hacia;

$_SESSION['unaSesion']='mivalor';

y para mostrar la sesion;
echo $_SESSION['unaSesion'];

zsamer 02/12/2007 02:41

Re: consulta Zend - Sesiones
 
Cita:

Iniciado por eugenioclrc (Mensaje 2203951)
Que pesadella ese zend!!! yo normalmente hacia;

$_SESSION['unaSesion']='mivalor';

y para mostrar la sesion;
echo $_SESSION['unaSesion'];

¿¿¿Que pesadilla ese zend??? :neurotico

Para ti será una pesadilla, para aquellos que son capaces de ir más allá, es todo al contrario, todo un arte, simplicidad, potencialidad y agrado.

;-)

michael_san 10/03/2008 15:59

Re: consulta Zend - Sesiones
 
Como están amigos del foro,

Gracias por la solución, me ayudo bastante.

Espero pronto poder colaborar con uds.

grey 19/05/2008 12:26

Respuesta: consulta Zend - Sesiones
 
Yo tambien estoy haciendo armas en ZF y quisiera saber si hay alguna forma de extender la sesion sin utilizar Zend_Registry.

O sea solo con Zend_Session.

Abrazo.

Genetix 19/05/2008 13:15

Respuesta: consulta Zend - Sesiones
 
Claro que se puede
uno de las formas es:

Declaración
Código PHP:

$test = new Zend_Session_Namespace('test');
$test->mivalor "prueba de sesssion"

Recuperando desde cualquier lugar
Código PHP:

$recuperando = new Zend_Session_Namespace('test');
echo 
$recuperando->mivalor// imprime prueba de sesssion 

mas info http://framework.zend.com/manual/en/...ced_usage.html

Saludos!

rumo 20/05/2008 19:23

Respuesta: consulta Zend - Sesiones
 
Creo que deberian hacer la diferencia entre Zend_Session y Zend_Registry, he leido en varias partes donde confunden estos dos componentes.

Zend_Registry esta bien para almacenar datos durante la ejecucion de la aplicación, sin embargo el registro no hace uso de sesiones, por lo tanto es obvio que si almacenan un dato en el registro, no van a poder persistir el valor en la proxima llamada o "request" a menos de que lo vuelvan a definir.

si quieren persistir los datos pueden utilizar Zend_Session, ya que este componente hace uso de $_SESSION, sin embargo, le saca ventajas a esta propiedad, asegurando la ejecucion y evitando problemas tipicos en el uso de $_SESSION (a la antigua), y en su defecto utilizar una base de datos.

Finalmente y volviendo al post original, creo que quizas deberias darle una vuelta a Zend_Auth para lo que quieres hacer, este componente cuenta con varios adaptadores que te pueden ayudar y hace uso de Zend_Session para almacenar los datos.

recuerda Zend_Session != Zend_Registry.

Yoshua9 30/05/2016 06:41

Respuesta: consulta Zend - Sesiones
 
Estoy usando Zend_Auth para tratar de persistir al usuario como logueado pero si accedo a la misma url desde diferente frontal me pide que me vuelva a loguear, es como si no guardara en el navegador los datos.

No entiendo como hacerlos persistentes.


La zona horaria es GMT -6. Ahora son las 19:55.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.