Bonjour à tous,
Grâce à l'intervention de Lartak11, j'ai pu avancé un peu.
Merci
Mon problème se situe maintenent au niveau de redirect().
il génère l'erreur suivante :

Error: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'redirect' at line 1
SQL Query: redirect

Notice: If you want to customize this error message, create app/View/Errors/pdo_error.ctp

La syntaxe de mon code :

$this->redirect($responseArray'EMAILLINK']); die();

où 'EMAILLINK' a bien une valeur dans le tableau $responseArray
Bien sûr j'ai fait ma propre recherche qui n'a pas abouti !!
Pourriez-vous m'orienter svp ?

5 réponses


Ch0c4
Réponse acceptée

Salut, est-ce que ton redirect tu le fait dans ton model ? car tu dois le faire dans ton controller
http://book.cakephp.org/2.0/en/controllers.html#flow-control

et au lieu de mettre un die(); après ton redirect fais carrément un

return $this->redirect($responseArray'EMAILLINK']);
agmedia
Auteur
Réponse acceptée

Merci pour ta réactivité.
Saches que je suis un grand débutant.Bref,
Pour répondre à ta question le redirect est dans mon model.
Et j'ai essayé le return le résultat est toujours le même !!
J'ai suivi à la lettre le tuto, au debug avant le redirect j'ai toutes les valeurs.
voici le résultat et le code le concernant :

/app/Model/Transaction.php (line 48)
array(
'WEBSITECODE' => '<form target=\"_top\" action=\"https://www.sandbox.paypal.com/cgi-bin/webscr\" method=\"post\">
<input type=\"hidden\" name=\"cmd\" value=\"_s-xclick\">
<input type=\"hidden\" name=\"hosted_button_id\" value=\"ULR6CSC8QQ4LC\">
<input type=\"image\" src=\"https://www.sandbox.paypal.com/fr\_FR/FR/i/btn/btn\_buynow\_LG.gif\" border=\"0\" name=\"submit\" alt=\"PayPal - la solution de paiement en ligne la plus simple et la plus sécurisée !\">
<img alt=\"\" border=\"0\" src=\"https://www.sandbox.paypal.com/fr\_FR/i/scr/pixel.gif\" width=\"1\" height=\"1\">
</form>
',
'EMAILLINK' => 'https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=\_s-xclick&hosted\_button\_id=ULR6CSC8QQ4LC',
'HOSTEDBUTTONID' => 'ULR6CSC8QQ4LC',
'TIMESTAMP' => '2014-10-30T13:41:48Z',
'CORRELATIONID' => '550e963c4b7c6',
'ACK' => 'Success',
'VERSION' => '87',
'BUILD' => '000000'
)

$ch = curl_init();
curl_setopt_array($ch,$curlOptions);
$response = curl_exec($ch);

if(curl_errno($ch)){
debug(curl_errno($ch)); die();
return false;
}else{
curl_close($ch);
parse_str($response,$responseArray);
//debug($responseArray); die();
return $this->redirect($responseArray'EMAILLINK']);

}
Ch0c4
Réponse acceptée

Ton redirect() tu dois le faire dans ton "Controller", pas dans le model car redirect est une methode de Controller et non de Model. tu récupère ton tableau ($responseArray) dans ton controller et ensuite tu fais un redirect. MonModel.php [code] class MonModel extends AppModel { public function maMethodeQuiRecupereMonTableau() { // plein de traitement return $responseArray; } } [/code] MonController.php [code] class MonController extends AppController { public function maMethodeOuJeVeuxFaireUnRedirect() { $monTableauQueJeFabriqueDansMonModel = $this->MonModel->maMethodeQuiRecupereMonTableau(); return $this->redirect($monTableauQueJeFabriqueDansMonModel['EMAILLINK']); } } [/code] J'espère que je suis clair et n'oublie pas d'utiliser les balises [code] quand tu poste du code.

agmedia
Auteur
Réponse acceptée

Merci pour ton aide.
Je vais essayer de m'appliquer

agmedia
Auteur
Réponse acceptée

problème résolu.
Merci