[HTML & PHP] 2 submit dans 1 formulaire avec 2 actions différentes

2 submit dans 1 formulaire avec 2 actions différentes [HTML & PHP] - HTML/CSS - Programmation

Marsh Posté le 03-04-2003 à 10:04:38    

Il y a deux boutons dans mon formulaire.
Je cherche à envoyer les données de ce formulaire:
- vers modif.php s'il clique sur modifier
- vers suppr.php s'il clique sur supprimer
 
Comment puis-je faire ça puique je ne peux mettre qu'un submit par formulaire ?
 
   merci d'avance


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 03-04-2003 à 10:04:38   

Reply

Marsh Posté le 03-04-2003 à 10:12:28    

Tu fais une page redirect.php dans laquelle tu testes la valeur de tes boutons et tu fais un bête include en fonction de ces valeurs. ;)

Reply

Marsh Posté le 03-04-2003 à 10:29:17    

c pas con !
[:spikler]


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 03-04-2003 à 10:30:12    


 
C'est la meilleure solution à mon avis.

Reply

Marsh Posté le 03-04-2003 à 10:36:07    

je ne me souviens plus,
c'est quoi déjà la synthaxe :
 
if (HTTP_VAR_??=ajout)
{
    include('ajout.php';)
}
else
{
    include('suppr.php';)
}


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 03-04-2003 à 10:39:01    

sire de botcor a écrit :

je ne me souviens plus,
c'est quoi déjà la synthaxe :
 
if (HTTP_VAR_??=ajout)
{
    include('ajout.php';)
}
else
{
    include('suppr.php';)
}


 
Dans ta page ou tu as tes boutons, tu as :
 
<input type="submit" name="ajout" value="Ajouter"...
 
<<input type="submit" name="suppr" value="Supprimer"...
 
 
Dans ta page en PHP, tu testes donc la valeur de tes boutons ajout et suppr.
 
Donc,  
 
if ($_POST['ajout'] == "Ajouter" ){.... }
else {.......}

Reply

Marsh Posté le 03-04-2003 à 11:48:34    

un autre solution consiste à changer le "action" du form au moment du clic.
 

<input type="submit" onclick="javascript:document.myForm.action="action1.php" value="action1">
<input type="submit" onclick="javascript:document.myForm.action="action2.php" value="action2">

Reply

Marsh Posté le 03-04-2003 à 12:54:31    

MagicBuzz a écrit :

un autre solution consiste à changer le "action" du form au moment du clic.
 

<input type="submit" onclick="javascript:document.myForm.action="action1.php" value="action1">
<input type="submit" onclick="javascript:document.myForm.action="action2.php" value="action2">




 
Javascript doit être utilisé pour des choses non indispensables au bon fonctionnement d'un site.
 
Un submit traité par le serveur, j'appelle pas ça un truc non indispensable et comme de toutes manières, la page sera traitée, je vois mal l'utilité de rajouter du JS.

Reply

Marsh Posté le 03-04-2003 à 13:22:19    

en tout cas [:spikler],
j'ai pris la solution de hermes,
ça fonctionne parfaitement !


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 04-04-2003 à 14:22:46    

Mon système, seul, n'apporte rien.
 
Il devient intéressant si par exemple l'enctype change selon le bouton, ou si des validations côté clients vont décider de l'action.
 
Par exemple, une page d'inscription :
 
-> Un bloc d'adresse.
-> Une case à cocher "Même adresse pour la livraison".
-> Un champ de type file pour uploader un truc.
-> Un bouton "Envoyer".
 
Règles :
-> Si CP = "" alors on ne soumet pas le formulaire.
-> Si champ fichier rempli, alors enctype = bin/form-data
-> Si La case à cocher est cochée, alors action = "create_profile.asp"
-> Si la case à cocher n'est pas cochée, alors action = "user_addr2.asp"
 
Bon, hé bien dans ce cas, c'est bien plus simple de faire ça en script que de faire des fichiers côté serveur qui doivent manipuler jongler entre 20 includes et 30 cases.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed