Page 1 sur 1

2 actions différentes sur une liste

Posté : 25 mai 2007, 09:55
par d0m
Bonjour,

j'ai une liste de choix d'élements et 2 boutons submit :
- "modifier" qui doit m'envoyer sur une autre page
- "supprimer" qui me renvoie sur la page actuelle (php_self) en supprimant l'élement de la liste

mon probleme vient du fait que les 2 boutons submit ne doivent pas faire le lien vers la meme page
donc je devrais les mettres dans 2 formulaires differents avec un action different
mais dans ce cas ma liste de choix d'elements ne peut pas être partagé par les 2 formulaires.

Il y a bien l'utilisation dun seul formulaire et de javascript pour changer la valeur du champ action
mais j'aimerais éviter le javascript autant que possible :non2: et faire ca propre en php

comment faire pour faire ca 100% php? :-k

Posté : 25 mai 2007, 10:05
par jpaul
Bonjour,

Moi je tenterais de faire le test en début de la "page actuelle" et de rediriger à l'aide de header() si c'est modifier qui a été testé.
Attention, pour utiliser header, il faut ne rien avoir envoyé (pas même un espace ou une ligne blanche) il vaut donc mieux faire le test en tout début.

Posté : 25 mai 2007, 10:08
par Cyrano
utilise un évènement onclick dans tes boutons pour modifier la valeur de l'attribut "action" de la balise <form>.

Posté : 25 mai 2007, 10:30
par d0m
utilise un évènement onclick dans tes boutons pour modifier la valeur de l'attribut "action" de la balise <form>.
oui j'y avais pensé
Il y a bien l'utilisation dun seul formulaire et de javascript pour changer la valeur du champ action
mais j'aimerais éviter le javascript autant que possible et faire ca propre en php
mais je voulais savoir si il y avait une autre méthode sans javascript

Posté : 25 mai 2007, 11:38
par jpaul
mais je voulais savoir si il y avait une autre méthode sans javascript
Ben ce que je te propose c'est du PHP

Posté : 30 mai 2007, 09:03
par d0m
Ben ce que je te propose c'est du PHP
oui merci :) j'ai opté pour cette méthode

Posté : 30 mai 2007, 10:06
par jpaul
N'oublie pas de mettre résolu si tu as fini. ;)