Heim > Backend-Entwicklung > PHP-Tutorial > Wie stellen Sie fest, auf welche Schaltfläche in einem PHP-Formular mit mehreren Senden-Schaltflächen geklickt wurde?

Wie stellen Sie fest, auf welche Schaltfläche in einem PHP-Formular mit mehreren Senden-Schaltflächen geklickt wurde?

DDD
Freigeben: 2024-11-14 17:34:02
Original
561 Leute haben es durchsucht

How do you determine which button was clicked in a PHP form with multiple submit buttons?

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)
    }
}
Nach dem Login kopieren

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">
Nach dem Login kopieren

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)
}
Nach dem Login kopieren

Ü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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage