Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Redireccionamiento con zf

Estas en el tema de Redireccionamiento con zf en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola a todos, miren estoy teniendo un problema de redireccion creo hago lo correcto pero no he podido hacer que esto se redireccione correctamente este ...
  #1 (permalink)  
Antiguo 03/03/2009, 07:53
Avatar de poloche  
Fecha de Ingreso: abril-2006
Ubicación: cochabamba
Mensajes: 93
Antigüedad: 18 años
Puntos: 1
Mensaje Redireccionamiento con zf

Hola a todos, miren estoy teniendo un problema de redireccion creo hago lo correcto pero no he podido hacer que esto se redireccione correctamente este es el codigo

Código PHP:
public function loginAction() {
        
        
$form = new LoginForm();
        if (
$this->_request->isPost ()) {
            
$credentials $this->_request->getPost ();
            if (
$form->isValid $credentials )) {
                try {
                    
$this->user->setMessage 'El nombre de Usuario y Password no coinciden.'PersonaModel::NOT_IDENTITY );
                    
$this->user->setMessage 'La contraseña ingresada es incorrecta. Intentelo de nuevo.'PersonaModel::INVALID_CREDENTIAL );
                    
$this->user->setMessage 'Los campos de Usuario y Password no pueden dejarse en blanco.'PersonaModel::INVALID_LOGIN );
                    
$this->user->login $credentials ['username'], $credentials ['password'] );
                    
$this->view->person PersonaModel::getIdentity ();
                    
$idPersona $this->view->person->id_persona ;
                    
$rol = new RolModel();
                    
$roles $rol->getRoles $idPersona);
                    
$sesion = new Zend_Session_Namespace('Zend_Auth');
                    
$menu=PersonaModel::getMenuBar($idPersona);
                    
$sesion->__set('roles',$roles);
                    
$sesion->__set('menus',$menu);

                } catch ( 
Exception $e ) {
                    echo 
"errror".$responseLogin $e->getMessage ();
                    
$this->view->responseLogin=$responseLogin;
                    
$this->_forward('index','index',null,array('error'=>$responseLogin));// ( 'index' ,array('error',$responseLogin));
                    
exit;
                }
            }
        }
    } 
pero siempre me va al script login.phtml y creo que lo que estoy haciendo es enviar la accion index del indexController por ende deveria volver al index.phtml o acaso me equivoco?
plis estare en espera de alguna ayuda gracias a todos
__________________
no estare lejos, por que siempre estare junto a ti
  #2 (permalink)  
Antiguo 03/03/2009, 09:51
 
Fecha de Ingreso: enero-2005
Mensajes: 149
Antigüedad: 19 años, 3 meses
Puntos: 2
Respuesta: Redireccionamiento con zf

Creo que deberías poner el código de tu método login(); pues allí entiendo harás el isValid() y tendrás que decirdir que hace la aplicación. De eso puede depender lo que haga el código restante.
  #3 (permalink)  
Antiguo 03/03/2009, 10:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Redireccionamiento con zf

Pues el forward lo que hace es ir a otra acción, si no especificas tu que viewScript rendererar por defecto es el de la acción que se llamo inicialmente en el controller, no la del forward es por eso que te renderea login.phtml.

Saludos
  #4 (permalink)  
Antiguo 10/03/2009, 16:57
Avatar de poloche  
Fecha de Ingreso: abril-2006
Ubicación: cochabamba
Mensajes: 93
Antigüedad: 18 años
Puntos: 1
GatorV si te entiendo bien acaso deberia poner en el forward("index.phtml") ? para que renderee ese viewScript

he remplazado
por

pero no me llega el mensaje de error como deberia de enviarlo?
gracias

he remplazado
[
Cita:
$this->_forward('index','index',null,array('error'=>$res ponseLogin));
por

Cita:
$this->_redirect ( 'index/index/error/'.$responseLogin, array ('error' => $responseLogin) );
pero no me llega el mensaje de error como deberia de enviarlo?
gracias
__________________
no estare lejos, por que siempre estare junto a ti

Última edición por GatorV; 10/03/2009 a las 18:28
  #5 (permalink)  
Antiguo 10/03/2009, 18:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Redireccionamiento con zf

No, si no en tu index, haces $this->view->render( "index.phtml" );

Saludos
  #6 (permalink)  
Antiguo 11/03/2009, 10:11
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Respuesta: Redireccionamiento con zf

El problema es que estas haciedo la redireccion dentro de un "catch", el sistema va a llegar ahí solo si se produce una excepción, no creo que tu metodo login() produzca una excepcion de sitema para que se ejecute ese catch, para mi ese es el error.
  #7 (permalink)  
Antiguo 13/03/2009, 13:43
Avatar de poloche  
Fecha de Ingreso: abril-2006
Ubicación: cochabamba
Mensajes: 93
Antigüedad: 18 años
Puntos: 1
Respuesta: Redireccionamiento con zf

pues si acaso el usuario falla al ingresar sus datos no deberia permitirle el ingreso y regresar al index enotnces si se produce un throw excepction y agarra el catch y deberia redireccionar al index
__________________
no estare lejos, por que siempre estare junto a ti
  #8 (permalink)  
Antiguo 13/03/2009, 15:05
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Respuesta: Redireccionamiento con zf

Cita:
Iniciado por poloche Ver Mensaje
pues si acaso el usuario falla al ingresar sus datos no deberia permitirle el ingreso y regresar al index enotnces si se produce un throw excepction y agarra el catch y deberia redireccionar al index
Claro, ahora veo que esta basado en el tutorial de zsamer y que hace exactamente eso
  #9 (permalink)  
Antiguo 14/03/2009, 07:11
Avatar de poloche  
Fecha de Ingreso: abril-2006
Ubicación: cochabamba
Mensajes: 93
Antigüedad: 18 años
Puntos: 1
Respuesta: Redireccionamiento con zf

exactamente, pero no me redirecciona alguna idea?
__________________
no estare lejos, por que siempre estare junto a ti
  #10 (permalink)  
Antiguo 14/03/2009, 07:41
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Respuesta: Redireccionamiento con zf

Si, alguna...
No hagas exit() despues de _forward ya que este no hace una redireccion con header()

Por otro lado no veo la necesidad de pasar a otra acción, podrias hacer que el formulario se muestre en la vista y asunto arreglado, los mensajes ya se estan pasando $this->view->responseLogin=$responseLogin; solo te resta el $form
  #11 (permalink)  
Antiguo 16/03/2009, 09:37
Avatar de poloche  
Fecha de Ingreso: abril-2006
Ubicación: cochabamba
Mensajes: 93
Antigüedad: 18 años
Puntos: 1
Respuesta: Redireccionamiento con zf

si tienes razon solo seria el form, pero es que estaria creando una vista nueva para algo que se puede reutilizar en una anterios, de todas formas creo que tomare tu respuesta gracias
__________________
no estare lejos, por que siempre estare junto a ti
  #12 (permalink)  
Antiguo 16/03/2009, 09:47
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Respuesta: Redireccionamiento con zf

Cita:
Iniciado por poloche Ver Mensaje
pero es que estaria creando una vista nueva para algo que se puede reutilizar en una anterios
La idea es tener una sola vista para mostrar el formulario y que esa vista sea login y no index.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:48.