Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour
voilà, je souhaite mettre en place Paypal sur mon site, notamment leur API expressCheckoutExpress (étant donné que je souhaite seulement que les clients payent avec leur compte Paypal login/mot de passe)
Voici mon code dans mon controller :
$this->view->urlPaypal = urlencode("https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=".$liste_param_paypal['TOKEN']); exit();
dans ma vue :
header("Location:".$this->urlPaypal);
die();
Mon problème est que je reste sur une page blanche... alors que si je copie/colle le contenue de la variable $this->urlPaypal dans une barre d'adresse, alors ça fonctionne.
Auriez-vous une explication ? et une solution ?
D'avance merci.
Vincent
Dernière modification par vince56 (06-01-2012 10:18:03)
Hors ligne
Déjà d'une, tu n'a pas a faire de PHP dans une vue. Il faudrait que tu fasse ta redirection dans ton controleur.
Pour se faire, il faut utiliser le helper d'action _redirect() comme ceci:
$this->_redirect($this->urlPaypal);
Bonne année et bon courage pour la suite!
Hors ligne
Pourquoi mets - tu un exit() dans ton controller ?
Pour faire une redirection à partir de ton controller, tu peux utiliser l'action helper Redirector, il est fait pour cela:
http://framework.zend.com/manual/en/zen … redirector
Hors ligne
Bonjour,
Mon problème avec la fonction _redirect(), c'est qu'elle recherche l'URL que je souhaite exécuter sur mon site, or il s'agit de l'URL d'un autre site pour rediriger mon client.
Voici le message obtenu :
Not Found
The requested URL /https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-2C882194TW338651E was not found on this server.
Avez-vous une autre solution ?
D'avance merci.
Vincent
Hors ligne
@vince56 : Il ne faut pas mettre ton urlencode, ça sert à encoder une valeur dans des paramètres GET. Ca n'est pas ton cas.
Dans ton cas, tu n'as pas besoin d'encoder l'URL.
Sinon dans ton message d'erreur, tu as un "/" bizarre devant ton https. C'est pour ça qu'il va chercher l'URL sur ton site et pas directement sur le bon site.
A+, PHilippe
Hors ligne
http://framework.zend.com/manual/fr/zen … redirector
$this->_redirector->gotoUrl($url);
Hors ligne
Merci pour votre aide, mais j'obtiens l'erreur suivante :
Notice: Undefined property: IpController::$_redirector in ...
Fatal error: Call to a member function gotoUrl() on a non-object in ...
la fonction '_redirector' n'est pas de base dans Zend ?
Merci.
Vince
Hors ligne
$this->_redirect($url); fonctionne très bien normalement !!
Dernière modification par Roromix (05-01-2012 12:23:28)
Hors ligne
C'est $this->_helper->redirector->gotoUrl($url);
Hors ligne
avec la solution de mikaelkael, me voilà revenu au point de départ, à savoir une page blanche...
je ne comprends pas pourquoi une chose si simple ne fonctionne pas...
une idée?
merci
Hors ligne
vince56 a écrit:
Merci pour votre aide, mais j'obtiens l'erreur suivante :
Notice: Undefined property: IpController::$_redirector in ...
Fatal error: Call to a member function gotoUrl() on a non-object in ...
Si tu avais lu la donc tu aurais compris pourquoi...
Hors ligne
désolé Shadypierre, mais je ne te comprends pas...
Hors ligne
J'ouvre la doc je vois le 1er exemple :
$this->_redirector = $this->_helper->getHelper('Redirector');
Voila
Je viens de tester et ça fonctionne parfaitement donc tu dois avoir une erreur ailleurs.
Hors ligne
ok merci, je vais chercher ailleurs alors... car même résultat...
Hors ligne
Normal ça revient exactement au meme que
$this->_helper->redirector->gotoUrl($url);
que tu avais déja testé sans succès.
Essai de mettre $this->_helper->redirector->gotoUrl('http://google.fr)'; au début d'un de tes contrôleurs.
Hors ligne
Ok, ça fonctionne désormais.
Pour info, ce qui posait problème, c'était le fait que ma vue soit contenue dans un iframe.... pourquoi ? je ne sais pas... heureusement que l'ancien programmeur ne soit plus là...
Désolé pour le dérangement..
Vincent
Hors ligne