Plusieurs Submit dans un meme form

Plusieurs Submit dans un meme form - PHP - Programmation

Marsh Posté le 10-02-2006 à 18:39:10    

Salut tout le monde !!!
 
 
Voila je voulais savoir si il etait coherent de mettre plusieurs submit dans un meme formulaire et comment faire avec php pour etablir des conditions c-a-d comment recuperer le nom du submit :)
 
Merci par avance :)

Reply

Marsh Posté le 10-02-2006 à 18:39:10   

Reply

Marsh Posté le 10-02-2006 à 19:28:07    

Et j'ai aussi une autre question :  
 
J'utilise des chekbox afin que le membre puisse supprimer les messages souhaité masi comment faire dans la requete sql pour supprimer 1 ou plusieurs messages ?

Reply

Marsh Posté le 10-02-2006 à 21:37:47    

titanhermes a écrit :


Voila je voulais savoir si il etait coherent de mettre plusieurs submit dans un meme formulaire et comment faire avec php pour etablir des conditions c-a-d comment recuperer le nom du submit :)


 
Cohérent oui, plus que la méthode que j'ai déjà vu préconisée sur ce même forum (des boutons de type button qui font un submit jscript, quelle bonne idée...). Quand à la récupération du nom, hem, comme n'importe quel autre élément d'un formulaire  :pt1cable:  
 

titanhermes a écrit :


J'utilise des chekbox afin que le membre puisse supprimer les messages souhaité masi comment faire dans la requete sql pour supprimer 1 ou plusieurs messages ?


 
Tu parcours tes checkboxs pour récupérer toutes les valeurs et tu crées un where en fonction (where mon_id in (id1,id2,...,idx) par exemple)

Reply

Marsh Posté le 10-02-2006 à 22:31:29    

tu peux mettre plusieurs "button" de type "submit"
et tu rajoute la valeur name=""
 
par exemple <input type="submit" value="ajouter" name="add">
 et puis dans le même formulaire <input type="submit" value="envoyer" name="send">
 
et apres tu peux savoir sur lequel on a clické avec $_POST['add'] et $_POST['send']
 
if(isset($_POST['add']))  etc...

Reply

Marsh Posté le 10-02-2006 à 23:27:44    

Oki merci !! Mais pouvez mieux m'expliquer pour les CheckBox s'il vous plait car je n'est pas très bien compris ce que ma dit naceroth :?

Reply

Marsh Posté le 10-02-2006 à 23:35:36    

la partie php ou sql ?
 
(et tant qu'à faire, dans ce que dit GuYzMo, autant donner le même nom à tous les submits et tester la valeur de retour plutôt qu'un isset() par bouton :))

Reply

Marsh Posté le 11-02-2006 à 03:11:52    

<input type="checkbox" value="toto" name="box[]">
<input type="checkbox" value="tutu" name="box[]">
...
<input type="checkbox" value="tutu" name="box[]">
 
<?php
foreach( $_POST['box'] as $val )
{
...
   // Construction de la clause where
...
}
?>


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-02-2006 à 03:18:07    

naceroth : L'utilisation de javascript avec des boutons submit comporte plusieurs avantages :
1-Permet d'appeler une fonction de vérification du formulaire coté client, pour ne pas faire chier le serveur pour rien.
2-Permet de donner une valeur à un champ cacher du genre "action", qui éclaircie la programation en php.
3-Si tu as plein de boutons, dans un tableau par exemple, l'action sera la même, mais en JS, tu utilise un champ caché pour passer un identifiant.
...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-02-2006 à 04:04:16    

Mara's dad a écrit :

naceroth : L'utilisation de javascript avec des boutons submit comporte plusieurs avantages :
1-Permet d'appeler une fonction de vérification du formulaire coté client, pour ne pas faire chier le serveur pour rien.
2-Permet de donner une valeur à un champ cacher du genre "action", qui éclaircie la programation en php.
3-Si tu as plein de boutons, dans un tableau par exemple, l'action sera la même, mais en JS, tu utilise un champ caché pour passer un identifiant.
...


 
Et il a l'inconvénient majeur de rendre ton form inopérant sur tout système où jscript n'est pas activé. Remarque que je n'ai pas parlé d'une solution jscript/bouton submit mais de la solution jscript/bouton button (avec appel via un évènement onclick plutôt que le onsubmit) :)

Reply

Marsh Posté le 11-02-2006 à 09:11:02    

Mara's dad a écrit :

naceroth : L'utilisation de javascript avec des boutons submit comporte plusieurs avantages :
1-Permet d'appeler une fonction de vérification du formulaire coté client, pour ne pas faire chier le serveur pour rien.
2-Permet de donner une valeur à un champ cacher du genre "action", qui éclaircie la programation en php.
3-Si tu as plein de boutons, dans un tableau par exemple, l'action sera la même, mais en JS, tu utilise un champ caché pour passer un identifiant.
...


Oui travail de porc [:petrus75]  
 
avec un ou des submit qui portent le même name j'ai juste à tester la valeur du submit
 
exemple :  
 
<form action="voler.php">
<input type="submit" name="action" value="Allumer le moteur">
<input type="submit" name="action" value="Décoller">
<input type="submit" name="action" value="Planer">
</form>
 
 
et du coté PHP j'ai une fonction qui me récupère la variable en get ou post, me transforme un cet élément, me vire les accents et les espaces et me fout tout les caractères en minuscules.
et j'ai juste au final une variable $action qui va contenir soit "allumerlemoteur" ou "decoller" ou "planer".
 
Après j'ai juste à checker soit avec un switch case ou autre :D

Reply

Marsh Posté le 11-02-2006 à 09:11:02   

Reply

Marsh Posté le 11-02-2006 à 10:39:53    

Mara's dad a écrit :

<input type="checkbox" value="toto" name="box[]">
<input type="checkbox" value="tutu" name="box[]">
...
<input type="checkbox" value="tutu" name="box[]">
 
<?php
foreach( $_POST['box'] as $val )
{
...
   // Construction de la clause where
...
}
?>


 
 
Oula pourrais tu me donner quelque explication s'il te plait, car c'est la premiere fois que je vois un FOREACH et puis quelle et cette variable $val qui n'est déclaré nulle part, puis comment construire la clause Where avec si peu d'information ? :p

Reply

Marsh Posté le 11-02-2006 à 13:46:00    

Code :
  1. <form method="POST">
  2. <input type="checkbox" name="exemple[]" value="A">AAAAAAA</input><br>
  3. <input type="checkbox" name="exemple[]" value="B">BBBBBBB</input><br>
  4. <input type="checkbox" name="exemple[]" value="C">CCCCCCC</input><br>
  5. <input type="checkbox" name="exemple[]" value="D">DDDDDDD</input><br>
  6. <input type="checkbox" name="exemple[]" value="E">EEEEEEE</input><br>
  7. <input  type="submit">Go !</input><hr>
  8. </form>
  9. <?php
  10. if( isset( $_POST['exemple'] ) )
  11. {
  12. echo( "Vous avez choisi :<br>" );
  13. foreach( $_POST['exemple'] as $val )
  14. {
  15.  echo( "$val<br>" );
  16. }
  17. }
  18. ?>


 
Démo :
 
Pour le foreach, voir : http://fr3.php.net/manual/fr/contr [...] oreach.php


Message édité par Mara's dad le 11-02-2006 à 13:55:19

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-02-2006 à 13:54:16    

naceroth, Gatsu35 : pouvez vous me montrer un seul site que VOUS ayez fait, un tant sois peu compliqué et qui n'utilise pas une ligne de JS ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-02-2006 à 15:55:37    

on fait du JS intrusif ce qui implique que le site fonctionne sans JS et est amélioré avec le JS

Reply

Marsh Posté le 11-02-2006 à 16:11:27    

Mara's dad a écrit :

naceroth, Gatsu35 : pouvez vous me montrer un seul site que VOUS ayez fait, un tant sois peu compliqué et qui n'utilise pas une ligne de JS ?


 
On a jamais dit qu'on utilisait pas de JS, mais on ne développe pas une fonctionnalité (ici le submit) en utilisant un langage pouvant parfaitement être absent/désactivé chez l'utilisateur, nuance. Comme le dit Gatsu, JS est un plus, pas une nécessité.
 
Et relit moi une troisième fois : jamais je n'ai parlé d'une solution jscript/bouton submit mais d'une solution jscript/bouton button, ou, si c'est toujours pas clair :

Code :
  1. // le Mal
  2. <input type="button" value="Oui" onclick="verif();x.submit();" />
  3. // le Bien
  4. <input type="submit" value="Oui" name="kkwet" onclick="verif();" />

Reply

Marsh Posté le 11-02-2006 à 16:14:35    

gatsu35 a écrit :

on fait du JS non intrusif ce qui implique que le site fonctionne sans JS et est amélioré avec le JS


 :o

Reply

Marsh Posté le 11-02-2006 à 19:13:33    

Ok, les gars on se calme, on a tous notre religion ...
 
Sinon, je viens de regarder de plus près la balise <button> et je me souviens pourquoi je l'utilise pas simplement comme on devrait pourvoir le faire :

Code :
  1. <button type="submit" name="toto" value="A">B</button>


 
Avec ça, normalement, dans toto, on devrait recevoir "A", c'est ce que fait mozilla par exemple.
 
Mais il se trouve qu'avec un certain navigateur très utilisé, toto reçois "B", ce qui est très chiant !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 11-02-2006 à 22:30:53    

Dans ce cas la on remplace A par B est tout le monde est heureux :)

Reply

Sujets relatifs:

Leave a Replay

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