Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à toute la communauté!
Je suis un petit nouveau sur le ZF, et j'ai un petit soucis avec le passage de variable...
Je vous explique ma situation :
Je récupère une liste de client via ma DB sous forme de tableau, je l'affiche, c'est tout beau.
J'ai rajouté un bouton "Supprimer" pour que le root puisse supprimer des clients aisément.
J'ai donc une page "moderation" qui affiche le tableau tout beau, et le bouton :
<?php while ($donnees = $this->reponse->fetch()) { if ($donnees['hotel_zone'] == 0) $donnees['hotel_zone'] = "Paris"; else $donnees['hotel_zone'] = "Province"; ?> <tr> <td style="border-top:1px solid grey"> <?php echo $donnees['id'];?></td> <td style="border-top:1px solid grey"> <?php echo $donnees['hotel_name'];?></td> <td style="border-top:1px solid grey" ><?php echo $donnees['id_availpro'];?></td> <td style="border-top:1px solid grey" ><?php echo $donnees['c_name'];?></td> <td style="border-top:1px solid grey" ><?php echo $donnees['c_email'];?></td> <td style="border-top:1px solid grey" ><?php echo $donnees['c_url'];?></td> <td style="border-top:1px solid grey" ><img src="<?php echo $this->baseUrl;?>/public/css/yes.gif"></td> <td style="border-top:1px solid grey" ><a href="<?php echo $this->url(array('controller'=>'moderation','action'=>'supprimer' , 'id' => $donnees['id']));?>"><img src="/public/img/no.png"></a> </tr><?php } ?>
La dernière cellule est la cellule de suppression, je lui demande d'envoyer la variable dans mon supprimerAction de mon ModerationController dont voici un bout de code :
function supprimerAction () { echo $this->getRequest()->getParam('id'); }
Une fois que je clique sur mon bouton "Supprimer", sur ma page moderation/supprimer/ il m'affiche bien l'id du client et l'url est de la forme : "http://localhost/moderation/supprimer/id/1".
Jusqu'a là, tout va bien.
Le problème, c'est que quand je change de page. N'importe laquelle ! il m'affiche ma variable dans l'url !
Ex : Je clique sur "Création d'hôtel", un autre onglet qui n'a aucun rapport avec le précédent, et il m'affiche :
"http://localhost/creation/index/id/1".
Je ne comprends pas, sachant que j'ai bien demander de me passer la variable QUE dans mon supprimerAction, que cela m'affiche la variable dans toutes mes autres urls...
Si quelqu'un à une idée du problème car je suis royalement perdu la...
Merci de votre attention,
Fabien
Hors ligne
Bonjour à tous,
Je suis toujours sur le même problème, je fais des tests pour trouver la source du problème.
Je me suis dis qu'il y avait peu être un problème de hiérarchie / d'envoi de données erronée entre mes 2 pages.
Donc j'ai crée une nouvelle page vide, je lui est associé un Controller, et une page index.phtml.
Sur mon layout j'ai mis un lien :
<a href="<?php echo $this->url(array('controller'=>'supprimer','action'=>'index));?>">
et ..... BIM, toujours le même problème.
Quand je clique sur mon onglet Supprimer (apres que je sois allé dans mes pages ou je passe les variables), j'obtiens : http://localhost/supprimer/id/1
Même si je crée une nouvelle page, il suffit que je passe une variable d'une page a une autre pour que ma variable se retrouve dans TOUTES les urls de mon site...
Merci de votre aide.
Hors ligne
J'ai toujours le même problème ! Personnes a une idée ?
Hors ligne
Il faut mettre le parametre reset de l'aide de vue url à true.
url($urlOptions, $name, $reset) : crée un URL basé sur une route nommée. $urlOptions doit être un tableau associatif avec des paires de clés/valeurs utilisées par une route particulière.
Dernière modification par shadypierre (24-05-2012 16:48:31)
Hors ligne