Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Salut!
je suis tout debutant..
En fait, j'ai une action (login), et je ne sais pas comment la rediriger vers la page d'ou l'on vient.
Encore désolé pour la stupidité de la question, mais faut bien commencer un jour!
Hors ligne
j'ai failli a une regle essentielle, chercher avant de demander, la reponse est donnée, juste a coté....
Hors ligne
ah non en fait, a dans la discution sur la recuperation de l'action courante, on recupere l'action ou on va et non celle ou on est avant la requete...
Hors ligne
Bonjour,
Personnellement quand je redirige un visiteur vers une page d'identification, je passe l'url actuelle en paramètre. Ainsi si ses identifiants sont corrects je redirige.
<?php /** * Si le visiteur n'est pas identifié */ $redirect = $_SERVER['REQUEST_URI']; $this->_redirect('/login?redirect=' . $redirect); ?>
Sur la page d'identification
<?php /** * Si l'identification réussi */ $redirect = $this->_getParam('redirect'); $this->_redirect($redirect); ?>
Hors ligne
C'est vrai que c'est une bonne idée...
En fait, je suis débutant dans l'edition de sites, et j'avais pensé de faire passer la page dans un parametre de le vue, genre dans le controleur:
$this->view->page='maPage';
est-ce une possibilité? ou est-ce que je me plante completement dans la maniere de fonctionner?
Hors ligne
Ta variable ne sera pas persistente, tu ne la retrouveras pas !
Si tu veux utiliser cette méthode, essaye de passer par les variables de sessions avec Zend_Session.
Hors ligne
Même technique que rod pour ma part.
Hors ligne
Pour ma part, j'essaye d'éviter une session lorsqu'elle ne contient pas d'infos concernant l'utilisateur.
Qui dit que celui-ci a activé les cookies ? Si le trans-sid est désactivé ( ce qui est en général le cas pour cause de sécurité ), et que l'utilisateur a desactivé les cookies, alors les sessions ne fonctionneront pas.
Ainsi stocker en session une partie de la logique de navigation du site n'est pas très recommandé, ca peut aboutir à des états non connus et non désirés de l'application, même si c'est très rare, c'est à prendre en compte ^^
Hors ligne
A vrai dire j'ai pas tout compris vis a vis de la portée des variables...
Tant que l'utilisateur n'est pas redirigé vers l'index aucune nouvelle vue n'est instanciée (pour peu qu'on l'aie déclarée dedans), donc elle gaarde les variable incluses dedans, non?? en fait je vais tester... mais la j'ai pas trop le temps.
Hors ligne
Il existe une variable php $_SERVER['HTTP_REFERER'] qui indique l'adresse d'ou l'on vient...
Petit hic:
Cette variable peut être désactiver par les navigateurs et donc valoir une chaine vide.
Ex : Avec Le navigateur Opera, Il suffit d'ouvrir les préférences rapides (F12) et de décocher "Informer le quel site vous venez"...
C'est sur que par grand monde doit désactiver ceci...
Dernière modification par Mr.MoOx (24-05-2007 11:35:55)
Hors ligne
Voici un 'tite bou de code qui peut être utile
if ( empty($_SERVER['HTTP_REFERER']) ) { define('REFERER_PATH','/'); //Au cas ou... } else { //ROOT_URL est défini avant comme étant l'adresse de votre site... define('REFERER_PATH', str_replace(ROOT_URL, '', $_SERVER['HTTP_REFERER'])); }
Comme ça dans un controlleur qui ne produit que des traitements et pas d'affichage, il est facile de retourner à la page précédente de manière transparente.
Ex dans un controlleur d'autentification :
class AuthController extends Zend_Controller_Action { //... function logoutAction () { Zend_Auth::getInstance()->clearIdentity(); $this->_redirect(REFERER_PATH); } }
Dernière modification par Mr.MoOx (25-05-2007 10:12:32)
Hors ligne