Je suis le tuto CAKEphp et j'ai un problème quand j'envoie mes informations d'une page a l'autre.

    $this->redirect(array('action'=>'show','?class=&alt=&src='.$data['url']));

Quand je me redirige vers ma page les signes ? = & sont remplacer dans l'url par des %
....show/%253Fclass%253D%2526alt%253D%2526src%253Dhttps%253A%252F%252Fwww.w3schools.com%252Fcss%252Fimg_forest.jpg

Du coup je tombe sur une page d'erreur qui est :
The requested URL /cakephp-GamingNews/app/webroot/admin/medias/show/?class=&alt=&src=https://www.w3schools.com/css/img_forest.jpg was not found on this server.

On voit bien que cakephp envoie les bonnes informations mais mon navigateur encode l'url.
Dans le tuto cela ne ce produit pas pour lui.

Comment faire pour garder les parametres de l'url ?

6 réponses


Lartak
Réponse acceptée

Bonsoir.
Pour utiliser les paramêtres query dans une url, il faut le faire en utilisant un tableau (array), soit pour ton exemple :

$this->redirect(['action' => 'show', '?' => 
    ['class' => 'valeur', 'alt' => 'valeur', 'src' => $data['url']]
]);

Ce qui donnerait par exemple : http://.../show?class=valeur&alt=valeur&src=https://www.w3schools.com/css/img_forest.jpg.

Jack88
Auteur

Merci Lartak , ca marche :) .
Par contre juste j'aurais aimé savoir pourquoi en fesant comme dans le tuto cela ne marchait pas.
Parceque s'etait une ancienne version de cakephp ?

Si tu pouvais me dire de quel tutoriel tu parles, ça pourrait m'aider pour pouvoir te répondre, car il a quand même fait pas mal de tutoriels sur CakePHP.

Jack88
Auteur

Celui la , je tes mis le bon passage :
https://youtu.be/-g1sBSGV1HU?t=1h9m42s

Il est tout à fait possible que ce soit en rapport avec la version utilisée lors du tutoriel, car celle-ci était la première release candidate de la V2 de CakePHP, qui venait de sortir peu de temps avant qu'il ne débute la série de tutoriels (il y a de cela un peu plus de 3 ans).

Jack88
Auteur

Ok , merci de ton temps et de tes reponses ! :)