Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 13-04-2007 18:59:29

orpheus
Membre
Date d'inscription: 10-04-2007
Messages: 13

Comment recuperer la page d'ou l'on vient?

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

 

#2 13-04-2007 20:44:41

orpheus
Membre
Date d'inscription: 10-04-2007
Messages: 13

Re: Comment recuperer la page d'ou l'on vient?

j'ai failli a une regle essentielle, chercher avant de demander, la reponse est donnée, juste a coté....

Hors ligne

 

#3 13-04-2007 20:51:31

orpheus
Membre
Date d'inscription: 10-04-2007
Messages: 13

Re: Comment recuperer la page d'ou l'on vient?

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

 

#4 14-04-2007 11:20:03

rod
Administrateur
Lieu: Tours
Date d'inscription: 01-03-2007
Messages: 97
Site web

Re: Comment recuperer la page d'ou l'on vient?

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.

Code:

<?php

/**
 * Si le visiteur n'est pas identifié
 */
$redirect = $_SERVER['REQUEST_URI'];
$this->_redirect('/login?redirect=' . $redirect);

?>

Sur la page d'identification

Code:

<?php

/**
 * Si l'identification réussi
 */
$redirect = $this->_getParam('redirect');
$this->_redirect($redirect);

?>

Hors ligne

 

#5 15-04-2007 00:01:08

orpheus
Membre
Date d'inscription: 10-04-2007
Messages: 13

Re: Comment recuperer la page d'ou l'on vient?

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:

Code:

$this->view->page='maPage';

est-ce une possibilité? ou est-ce que je me plante completement dans la maniere de fonctionner?

Hors ligne

 

#6 16-04-2007 00:28:16

rod
Administrateur
Lieu: Tours
Date d'inscription: 01-03-2007
Messages: 97
Site web

Re: Comment recuperer la page d'ou l'on vient?

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

 

#7 16-04-2007 08:56:33

Isilgawen
Membre
Lieu: Limoges
Date d'inscription: 23-03-2007
Messages: 106

Re: Comment recuperer la page d'ou l'on vient?

Même technique que rod pour ma part.

Hors ligne

 

#8 16-04-2007 14:18:26

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: Comment recuperer la page d'ou l'on vient?

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

 

#9 16-04-2007 16:53:32

orpheus
Membre
Date d'inscription: 10-04-2007
Messages: 13

Re: Comment recuperer la page d'ou l'on vient?

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

 

#10 24-05-2007 11:25:39

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Comment recuperer la page d'ou l'on vient?

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

 

#11 24-05-2007 15:46:31

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Comment recuperer la page d'ou l'on vient?

Voici un 'tite bou de code qui peut être utile smile

Code:

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 :

Code:

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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages