returnUrl

Hola.

Alguien me puede decir como volver a la url anterior a una acción.

Al siteController llega y quiero devolverle a la url en la que estaba antes.

Yii:app()->user->returnUrl no funciona porque necesita iniciar sesión y no sé de ninguna otra posibilidad.

Gracias

Puedes usar el HTTP_REFERER de las variables globales. Es la URL de donde llega la petición

Ya lo tenía en mente, pero no me da mucha seguridad por lo siguiente http://www.iec.csic.es/criptonomicon/refererbug.html

De todas formas no sé por dónde miré que Yii tiene la posibilidad de poder volver, pero no recuerdo dónde ni cómo ;)

Un saludo

La verdad es que no conocía este ataque…

Si he entendido bien lo que quieres, lo que hago yo si estoy por ejemplo en un "actionCreate" y después del submit quiero mostrar el formulario de nuevo, uso:


$this->refresh();

en el controller. Con esto se recarga la página pero sin el efecto de REPOST en caso de recarga.

Puedes usar un meta propio del lenguaje de php o de yii el redireccionamiento como en su caso $this->redirect(’/usuarios/create/’);

El link en cuestión es el del idioma, es la típica bandera que es accesible desde cualquier página de la web, no sé de que url mia viene, puede darle en el index, en el contacto … por lo que no lo puedo mandarlo a ningún sitio en concreto de la web, si no de donde viene.

Un saludo

Te dejo una posible solucion


$this->redirect(Yii::app()->request->urlReferrer);



Saludos