- 1
[Opened] comment récupérer l'url demandée
Posted by Dubphil on 02/22/2008 17:37
Bonjour,
lorsqu'un utilisateur clique sur ce lien http://www.example.com/index.php?module=mymodule&action=index il est redirigé sur le formulaire de login (http://www.example.com/index.php?module=user&action=login:form) et si l'authentification réussi il est redirigé sur l'url d'origine : http://www.example.com/index.php?module=mymodule&action=index, là ou je coince c'est comment récupérer cette valeur : /index.php?module=mymodule&action=index, $_SERVER['HTTP_REFERER'] est vide et $_SERVER['REQUEST_URI'] correspond à cette valeur : /index.php?module=user&action=login:form
voici la méthode form de mon controlleur d'authentification :
function form() { $tpl = new jTpl(); $rep = $this->getResponse('html'); if (isset($_SERVER['HTTP_REFERER'])){ $tpl->assign('referer', $_SERVER['HTTP_REFERER']); } else{ $tpl->assign('referer', ''); } $rep->body->assign('CONTENT', $tpl->fetch('login')); return $rep; }
J'imagine que pour récupérer la bonne url avec $_SERVER['REQUEST_URI'] il faudrait que je place $tpl->assign('referer', $_SERVER['REQUEST_URI']); avant l'appel de la méthode form(), mais où ça alors ?
Philippe
[Opened] Re: comment récupérer l'url demandée
Posted by laurentj on 02/24/2008 10:00
lorsqu'un utilisateur clique sur ce lien http://www.example.com/index.php?module=mymodule&action=index il est redirigé sur le formulaire de login (http://www.example.com/index.php?module=user&action=login:form)
Ce n'est pas une redirection HTTP, mais une redirection interne. Donc tu ne trouveras rien dans $_SERVER'HTTP_REFERER'.
Pour récupérer l'url actuellement demandée, voici le moyen "le plus simple"
$req = $GLOBALS['gJCoord']->request; $url = new jUrl($req->urlScript, $req->params, $req->urlPathInfo); $urlstring = $url->toString();
- 1