2010-11-15 4 views
0

Je veux obtenir une valeur de la HTTP_REFERER dans la même/la même façon que vous obtiendrez à partir d'une demande:

$this->_getParam('order', 0); 

Je pensais essayer quelque chose comme ceci:

$lastrequest = new Zend_Controller_Request_Http($_SERVER['HTTP_REFERER']); 
$lastorder = $lastrequest->getParam('order', 0); 

Mais cela ne fonctionne pas. Il n'y a pas de paramètres. getParams renvoie une chaîne vide. Qu'est-ce que je rate? Y a-t-il une meilleure manière de faire cela?

Merci!

+0

Pouvez-vous montrer à quoi ressemble '$ _SERVER ['HTTP_REFERER']'? N'y a-t-il pas de données dans $ lastrequest? –

+0

Bien sûr qu'il y a. Cela pourrait ressembler à ça: http://domain.com/module/controller/action/param1/data/param2/data –

Répondre

3

ne peut même être réglée Ceci est généralement une mauvaise idée.

En plus de ce Justin pointed out, il est plus facile de simplement transmettre directement ces valeurs à la nouvelle page plutôt que d'essayer de les analyser à partir du référent.

+0

C'est tout. Mon cerveau ne doit pas être allumé. –

+0

@sims: C'est lundi matin ici. Je suis surpris que mon cerveau fonctionne même. ;) Ensuite, en regardant, en réfléchissant et en répondant parfois à des questions, il peut être bon de se réchauffer avant d'arriver à mon travail quotidien. – Powerlord

2

De l'PHP docs for HTTP_REFERER:

L'adresse de la page (le cas échéant) qui a renvoyé l'agent utilisateur à la page en cours. Ceci est défini par l'agent utilisateur. Tous les agents utilisateurs ne définissent pas cela, et certains fournissent la possibilité de modifier HTTP_REFERER en tant que fonctionnalité. En bref, on ne peut pas vraiment faire confiance.

Donc, gardez à l'esprit ce paramètre par le navigateur ...

+0

as-tu lu ma question? Vous me dites juste quelque chose des docs que je connais déjà. C'est vraiment plus sur l'utilisation de Zend pour analyser une chaîne d'URL plutôt que de devoir réinventer la roue. –

Questions connexes