So bestimmen Sie die Ursprungsschaltfläche in einer PHP-Formularübermittlung
Beim Entwerfen von Formularen mit mehreren Sendeschaltflächen ist es wichtig, die Schaltfläche zu identifizieren wurde beim Absenden des Formulars angeklickt. Dieser Abschnitt stellt einen umfassenden Leitfaden dar, der Entwicklern dabei hilft, diese Funktionalität zu erreichen.
Identifizierung der Absenden-Schaltfläche
Um zwischen den Absenden-Schaltflächen zu unterscheiden, verwendet PHP den folgenden Ansatz:
if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_POST['btnDelete'])) { // btnDelete was clicked } else { // Default to the first submit button (btnSubmit) } }
Standard-Senden-Schaltfläche berücksichtigen
Es ist wichtig zu beachten, dass die erste im Formular-HTML erscheinende Senden-Schaltfläche als Standard-Senden-Schaltfläche gilt. Dieses Prinzip gilt sowohl für Formulare mit einer Schaltfläche als auch für Formulare mit mehreren Schaltflächen.
Beispiel: Formular mit mehreren Schaltflächen
Angenommen, das folgende Formular-Markup:
<input type="submit" name="btnSubmit1" value="1"> <input type="submit" name="btnSubmit2" value="2"> <input type="submit" name="btnSubmit3" value="3">
PHP-Code würde die angeklickte Schaltfläche wie folgt bestimmen:
if (isset($_POST['btnSubmit3'])) { // btnSubmit3 was clicked } elseif (isset($_POST['btnSubmit2'])) { // btnSubmit2 was clicked } else { // Default to btnSubmit1 (first submit button) }
Überlegungen zur GET-Methode
Für Formulare, die die GET-Methode verwenden, verwenden Sie $_SERVER['REQUEST_METHOD'] === 'GET' ist unzuverlässig. Ziehen Sie stattdessen in Betracht, eine versteckte Eingabe mit dem Namen „submitted“ hinzuzufügen und ihren Wert auf 1 zu setzen. Dies ermöglicht die Übermittlungserkennung über isset($_GET['submitted']).
Browserkompatibilität
Dieser Ansatz zeichnet sich durch eine hervorragende Browserkompatibilität aus und erweitert die Unterstützung auf Browser aus den frühen 2000er Jahren und darüber hinaus. Seine logische Struktur lässt sich leicht an andere Sprachen anpassen.
Das obige ist der detaillierte Inhalt vonWie stellen Sie fest, auf welche Schaltfläche in einem PHP-Formular mit mehreren Senden-Schaltflächen geklickt wurde?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!