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

mensaje

Estas en el tema de mensaje en el foro de Frameworks y PHP orientado a objetos en Foros del Web. holo como estan, por favor alguien me puede ayudar a mostrar un mensaje de existo antes de hacer redirtect, me explico ejemplo al registar un ...
  #1 (permalink)  
Antiguo 11/10/2011, 22:08
 
Fecha de Ingreso: septiembre-2010
Mensajes: 111
Antigüedad: 13 años, 7 meses
Puntos: 0
mensaje

holo como estan, por favor alguien me puede ayudar a mostrar un mensaje de existo antes de hacer redirtect, me explico ejemplo al registar un producto me salga un mensaje de exito, y despues redireccionar a otro controller, no logro que me mueste el mensaje lo redirecciona si mostar, hay alguna manera de hacer esto, los mensaje lo estoy realizando con zend_flash_mesenger,
por favor una ayuda, gracias por su tiempo
  #2 (permalink)  
Antiguo 12/10/2011, 02:33
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: mensaje

No se si esto es lo que quieres:

http://www.web-source.net/javascript_redirect.htm

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #3 (permalink)  
Antiguo 12/10/2011, 06:34
 
Fecha de Ingreso: septiembre-2010
Mensajes: 111
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: mensaje

no tanto asi lo que quiro es mostar un mensaje, pero no me muestra

Código PHP:

 
if ($result->isValid()) {
                    
$datos_empleado $authAdapter->getResultRowObject(null'PASSWORD_EMPLEADO');
                    
$authStorage $auth->getStorage();
                    
$authStorage->write($datos_empleado);
                    
$cod_tipo $authStorage->read()->COD_TIPO_EMPLEADO;
                    
$tipo_emp $model_tipo_emp->getTipoEmpleado($cod_tipo);
                    
$rol $tipo_emp[TIPO_EMPLEADO];
                    
$this->_helper->FlashMessenger('Usted acaba de iniciar su sesion Bienvenido');
                    
$this->view->messages $this->_helper->flashMessenger->getMessages();
                    
$this->_redirect('/' $rol);
                } 
una vez autenticado quiero mostrar ese mensaje antes de que me haga la linea del redirect
en el layout lo muestro asi

Código PHP:

echo $this->messages
pero no me muestra nada se redireccina sin mostrar el mensaje.
hay alguna manera de hacer esto, saludos gracias
  #4 (permalink)  
Antiguo 12/10/2011, 07:05
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: mensaje

Cita:
hay alguna manera de hacer esto, saludos gracias
Si, no redireccionar con _redirect, hazlo seteando el meta HTTP-EQUIV=Refresh o bien con javascript o bien con una pagina intermedia.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #5 (permalink)  
Antiguo 12/10/2011, 08:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: mensaje

La idea es que muestres el mensaje después del redirect:
Código PHP:
Ver original
  1. public function fooAction()
  2. {
  3.        if ($this->getRequest()->isPost()) {
  4.                // cosas
  5.                $this->_helper->FlashMessenger('Exitoso');
  6.                $this->_helper->Redirector('foo');
  7.        }
  8.  
  9.        $this->view->messages = $this->_helper->FlashMessenger->getMessages();
  10. }

Y ya dentro de tu view los muestras:
Código PHP:
Ver original
  1. <?php if (!empty($this->messages)) { ?>
  2. <ul>
  3. <?php foreach ($this->messages as $message) {?>
  4. <li><?php echo $message; ?></li>
  5. <?php } ?>
  6. </ul>
  7. <?php } ?>

Saludos.
  #6 (permalink)  
Antiguo 12/10/2011, 09:30
 
Fecha de Ingreso: septiembre-2010
Mensajes: 111
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: mensaje

gracias por tu respuesta GatorV, en tu ejemplo es para que lo muestre ese mensaje en el mismo controller pero en la siguimte entrada al controller, pero la verdar yo queria hacer como el mensaje de bienvenida que hay depues de logearte en la pagina forosdelweb no se si eso se puede hacer eso muchas gracias
  #7 (permalink)  
Antiguo 12/10/2011, 09:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: mensaje

Claro, solo que para eso no ocupas el Flash Messenger, lo que haces es lo que te indica @masterpuppet, imprimes el mensaje directamente y ya sea que la redireccion la hagas con un <meta> o con javascript.

Saludos.
  #8 (permalink)  
Antiguo 13/10/2011, 07:59
 
Fecha de Ingreso: septiembre-2010
Mensajes: 111
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: mensaje

gracias por tu respuesta GatorV, pero la verdar no se como se hace meta en zend y la impresion del menasje es directo me dices ? o sea lo mando directo a la vista el layout el mensaje? no se si puedes un ejemplito por favor gracias saludos
  #9 (permalink)  
Antiguo 13/10/2011, 08:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: mensaje

El meta ya te lo puso @masterpuppet, simplemente lo imprimes en el head o usas Javascript no tiene mayor ciencia.

El mensaje lo asignas directo a la vista:
Código PHP:
Ver original
  1. <?php
  2. public function fooAction() {
  3.          $this->view->mensaje = "hola";
  4. }
  5. ?>
foo.phtml
Código PHP:
Ver original
  1. <div id="mensaje"><?php echo $this->mensaje; ?><div>

Saludos.
  #10 (permalink)  
Antiguo 13/10/2011, 09:12
 
Fecha de Ingreso: septiembre-2010
Mensajes: 111
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: mensaje

gracias GatorV por la respuesta, hice como dijiste el meta lo puse head de mi login.phtm
y el mensaje lo muestro directo en la vista
Código HTML:
 <META HTTP-EQUIV="REFRESH" CONTENT="10;URL=http://www.siscave.com.bo/administrador"/> 
pero la verdar no estoy nisiquiera logueandome y me manda directamente a esa direccion padado ese tiempo, la verdar como puedo hacer para que se active una ves autenticado.
una cosa mas la url de content url=http://www.siscave.com.bo/administrador como puedo hacer que eso sea de acuerdo al rol de cada usuario que se ha loqueago, gracias por tu ayuda saludos
  #11 (permalink)  
Antiguo 13/10/2011, 09:59
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: mensaje

No lo setes directamente al layout, hazlo a través del view helper headMeta, algo asi:

layout.phtml
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2.     <?php echo $this->headMeta(); ?>
  3. </head>
  4. ...

SomeController.php
Código PHP:
Ver original
  1. ...
  2. public function loginAction()
  3. {
  4.     ...
  5.     if ($result->isValid()) {
  6.         ....
  7.         $this->view->headMeta()->appendHttpEquiv('refresh', '10;URL=http://www.siscave.com.bo/administrador');        
  8.     }
  9. }
  10. ...

con respecto a lo de la url, podrías tener un helper que te construya las url's dependiendo del rol.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #12 (permalink)  
Antiguo 13/10/2011, 14:33
 
Fecha de Ingreso: septiembre-2010
Mensajes: 111
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: mensaje

muchas gracias masterpuppet y GatorV, pude solucionar el problema saludos

Etiquetas: zend
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 06:45.