J'ai plusieurs boutons sur ma page, mais je ne sais pas comment dire lequel a été cliqué. Voici le balisage de mes deux boutons :
<input type="submit" id="btnSubmit" value="Save Changes" />
<input type="submit" id="btnDelete" value="Delete" />
J'ai plusieurs boutons sur ma page, mais je ne sais pas comment dire lequel a été cliqué. Voici le balisage de mes deux boutons :
<input type="submit" id="btnSubmit" value="Save Changes" />
<input type="submit" id="btnDelete" value="Delete" />
Avec un formulaire html comme :
<input type="submit" name="btnSubmit" value="Save Changes" />
<input type="submit" name="btnDelete" value="Delete" />
Le code php à utiliser serait le suivant :
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
//something posted
if (isset($_POST['btnDelete'])) {
// btnDelete
} else {
//assume btnSubmit
}
}
Vous devez toujours assumer ou choisir par défaut le premier bouton d'envoi à apparaître dans le code source html du formulaire . En pratique, les différents navigateurs envoient de manière fiable le nom/la valeur d'un bouton d'envoi avec les données du message lorsque :
Il existe d'autres façons de soumettre un formulaire, et certains navigateurs/versions décident de l'utilisation du formulaire. de ne pas envoyer le nom/la valeur des boutons d'envoi. dans certaines de ces situations. Par exemple, de nombreux utilisateurs soumettre des formulaires en appuyant sur la touche Entrée lorsque le curseur/focus est sur un champ de texte. Les formulaires peuvent également être soumis via javascript, ainsi que par d'autres méthodes plus obscures.
Il est important de prêter attention à ce détail, sinon vous pouvez vraiment frustrer vos utilisateurs lorsqu'ils soumettent un formulaire, mais que "rien ne se passe" et que leurs données sont perdues parce que votre code n'a pas détecté une soumission de formulaire.
Je suis conscient que pratiquement tous les tutoriels de code de gestion des formulaires côté serveur ne font rien de plus que de vérifier le nom et la valeur d'un bouton d'envoi. Mais, ils sont tout simplement faux !
Il suffit de donner l'attribut name à chaque bouton. Et vous devez adresser chaque bouton pressé à partir du script de PHP. Mais faites attention à donner un nom unique à chaque bouton. Car le script de PHP ne s'occupe que du nom la plupart du temps.
<input type="submit" name="Submit_this" id="This" />
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.