mit einem HTML-Formular wie:
<input type="submit" name="btnSubmit" value="Save Changes" />
<input type="submit" name="btnDelete" value="Delete" />
Der PHP-Code aussehen würde zu verwenden:
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
//something posted
if (isset($_POST['btnDelete'])) {
// btnDelete
} else {
//assume btnSubmit
}
}
sollten Sie immer übernehmen oder Standard auf die erste Schaltfläche zum Senden im Formular HTML-Quellcode erscheinen. In der Praxis, wenn die verschiedenen Browsern zuverlässig den Namen/Wert eines Submit-Button mit der Post-Daten senden:
- Der Benutzer buchstäblich die Schaltfläche mit der Maus Senden klickt oder Zeigegerät
- Oder es liegt der Schwerpunkt auf der Schaltfläche "Senden" (Registerkarten), und dann wird die Eingabetaste gedrückt.
Andere Möglichkeiten, um ein Formular abzusenden existieren, und einige Browser/Versionen entscheiden nicht den Namen/Wert zu senden irgend Tasten einreichen in einigen dieser Situationen. Zum Beispiel senden viele Benutzer Formulare durch Drücken der Eingabetaste, wenn sich der Cursor/Fokus auf einem Textfeld befindet. Formulare können auch über JavaScript sowie einige obskure Methoden eingereicht werden.
Es ist wichtig, auf dieses Detail zu achten, andernfalls können Sie Ihre Benutzer wirklich frustrieren, wenn sie ein Formular absenden, doch "nichts passiert" und ihre Daten gehen verloren, weil Ihr Code eine Formularübermittlung nicht erkannt hat Die Tatsache, dass der Name/Wert eines Absenden-Buttons nicht mit den Post-Daten gesendet werden kann.
Der obige Hinweis sollte auch für Formulare mit einem einzigen Übermittlungsschaltfläche verwendet werden, da Sie immer eine Standardübergabeschaltfläche annehmen sollten.
Ich bin mir bewusst, dass das Internet mit Tonnen von Form-Handler-Tutorials gefüllt ist, und fast von allen tun sie nichts mehr als nach dem Namen und Wert eines Absenden-Schaltfläche zu überprüfen. Aber, sie sind einfach falsch!
Danke für die zusätzlichen Informationen über die Annahme einer Standard-Schaltfläche ... leicht zu übersehen. – kad81
warum benutzt das sonst sonst statt wenn? – Buts
@Gorg sonst wenn was? Was würdest du testen und warum? – goat