dimi3 Posté 18 Janvier 2013 Posté 18 Janvier 2013 Bonjour, Je répète 3 fois le formulaire pour 3 actions différentes. Je souhaiterais réunir tout ça en un seul formulaire contenant une seule fois la liste des radios et 3 boutons. Voici ce que je voudrais simplifier : echo "<form action = \"lire.php\" method=\"POST\">"; echo "<input type=\"radio\" name=\"monchoix\" value=\"$chemin$file\"/> Fichier 1"; echo "<input type=\"radio\" name=\"monchoix\" value=\"$chemin$file\"/> Fichier 2"; echo "<input type=\"radio\" name=\"monchoix\" value=\"$chemin$file\"/> Fichier 3"; echo "<br><input type=\"submit\" value=\"Lire le fichier\"/>"; echo "<form action = \"modifier.php\" method=\"POST\">"; echo "<input type=\"radio\" name=\"monchoix\" value=\"$chemin$file\"/> Fichier 1"; echo "<input type=\"radio\" name=\"monchoix\" value=\"$chemin$file\"/> Fichier 2"; echo "<input type=\"radio\" name=\"monchoix\" value=\"$chemin$file\"/> Fichier 3"; echo "<br><input type=\"submit\" value=\"Modifier le fichier\"/>"; echo "<form action = \"supprimer.php\" method=\"POST\">"; echo "<input type=\"radio\" name=\"monchoix\" value=\"$chemin$file\"/> Fichier 1"; echo "<input type=\"radio\" name=\"monchoix\" value=\"$chemin$file\"/> Fichier 2"; echo "<input type=\"radio\" name=\"monchoix\" value=\"$chemin$file\"/> Fichier 3"; echo "<br><input type=\"submit\" value=\"Supprimer le fichier\"/>"; Pourriez-vous me conseiller la meilleure manière de m'y prendre ? Je vous remercie.
Solution captain_torche Posté 18 Janvier 2013 Solution Posté 18 Janvier 2013 Fais une seule occurrence des boutons radios, et ajoutes-y les trois boutons submit dans le même formulaire. Prends bien soin de leur donner à chacun un attribut "name" différent, et teste la présence de cet attribut dans les données POST pour décider quoi faire.
dimi3 Posté 18 Janvier 2013 Auteur Posté 18 Janvier 2013 (modifié) Merci pour ta réponse. Il reste le problème de l'action ? Comment coder l'ouverture du formulaire pour que le premier submit envoie vers la page lire.php, le second vers la page modifier.php et le troisième vers la page supprimer.php ? Réunir les 3 fichiers en un seul ? Modifié 18 Janvier 2013 par dimi3
captain_torche Posté 18 Janvier 2013 Posté 18 Janvier 2013 Oui, fais une page "traitement.php", qui fera quelque chose en fonction du nom du bouton en POST.
dimi3 Posté 18 Janvier 2013 Auteur Posté 18 Janvier 2013 Bien compris. Merci à toi. J'apprends ainsi que le nom d'un bouton submit peut passer en variable post.
foxdesign Posté 18 Janvier 2013 Posté 18 Janvier 2013 if(isset($_POST["submit_lire"])){ // lire }elseif(isset($_POST["submit_modifier"])){ // modifier }elseif(isset($_POST["submit_supprimer"])){ // supprimer }else{ } echo "<form action = \"\" method=\"POST\">"; echo "<input type=\"radio\" name=\"lire\" value=\"$chemin$file\"/> Fichier 1"; echo "<input type=\"radio\" name=\"lire\" value=\"$chemin$file\"/> Fichier 2"; echo "<input type=\"radio\" name=\"lire\" value=\"$chemin$file\"/> Fichier 3"; echo "<br><input type=\"submit\" name="submit_lire" value=\"Lire le fichier\"/>"; echo "<input type=\"radio\" name=\"modifier\" value=\"$chemin$file\"/> Fichier 1"; echo "<input type=\"radio\" name=\"modifier\" value=\"$chemin$file\"/> Fichier 2"; echo "<input type=\"radio\" name=\"modifier\" value=\"$chemin$file\"/> Fichier 3"; echo "<br><input type=\"submit\" name=\"submit_modifier\" value=\"Modifier le fichier\"/>"; echo "<input type=\"radio\" name=\"supprimer\" value=\"$chemin$file\"/> Fichier 1"; echo "<input type=\"radio\" name=\"supprimer\" value=\"$chemin$file\"/> Fichier 2"; echo "<input type=\"radio\" name=\"supprimer\" value=\"$chemin$file\"/> Fichier 3"; echo "<br><input type=\"submit\" name="submit_supprimer" value=\"Supprimer le fichier\"/>"; echo "</form>";
Licorne Posté 18 Janvier 2013 Posté 18 Janvier 2013 Bonjour, Cela ne serait pas plus simple de mettre un radio : "lire", "modifier" et "supprimer" avec un seul submit. C'est le POST radio qui déterminera l'action. Plus simple
captain_torche Posté 18 Janvier 2013 Posté 18 Janvier 2013 @Licorne : avec cette solution, tu augmentes d'un clic les interactions utilisateur. C'est effectivement possible mais ce n'est pas le plus ergonomique.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant