Bagaimanakah anda menentukan butang yang diklik dalam borang PHP dengan berbilang butang hantar?

DDD
Lepaskan: 2024-11-14 17:34:02
asal
557 orang telah melayarinya

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

Cara Menentukan Butang Asal dalam Penyerahan Borang PHP

Apabila mereka bentuk borang dengan berbilang butang hantar, adalah penting untuk mengenal pasti butang yang mana telah diklik semasa penyerahan borang. Bahagian ini membentangkan panduan komprehensif untuk membantu pembangun mencapai fungsi ini.

Mengenal pasti Butang Hantar

Untuk membezakan antara butang hantar, PHP menggunakan pendekatan berikut:

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (isset($_POST['btnDelete'])) {
        // btnDelete was clicked
    } else {
        // Default to the first submit button (btnSubmit)
    }
}
Salin selepas log masuk

Pertimbangkan Serahan Lalai Butang

Adalah penting untuk mengakui bahawa butang serah pertama yang muncul dalam bentuk HTML dianggap sebagai penyerah lalai. Prinsip ini terpakai pada kedua-dua bentuk tunggal dan berbilang butang.

Contoh: Borang Berbilang Butang

Dengan andaian penanda borang berikut:

<input type="submit" name="btnSubmit1" value="1">
<input type="submit" name="btnSubmit2" value="2">
<input type="submit" name="btnSubmit3" value="3">
Salin selepas log masuk

Kod PHP akan menentukan butang yang diklik sebagai berikut:

if (isset($_POST['btnSubmit3'])) {
    // btnSubmit3 was clicked
} elseif (isset($_POST['btnSubmit2'])) {
    // btnSubmit2 was clicked
} else {
    // Default to btnSubmit1 (first submit button)
}
Salin selepas log masuk

Pertimbangan Kaedah GET

Untuk borang yang menggunakan kaedah GET, menggunakan $_SERVER['REQUEST_METHOD'] === 'GET' tidak boleh dipercayai. Sebaliknya, pertimbangkan untuk menambah input tersembunyi bernama 'diserahkan' dan tetapkan nilainya kepada 1. Ini membolehkan pengesanan penyerahan melalui isset($_GET['submitted']).

Keserasian Pelayar

Pendekatan ini menikmati keserasian penyemak imbas yang sangat baik, melanjutkan sokongan kepada penyemak imbas dari awal 2000-an dan seterusnya. Struktur logiknya mudah disesuaikan dengan bahasa lain.

Atas ialah kandungan terperinci Bagaimanakah anda menentukan butang yang diklik dalam borang PHP dengan berbilang butang hantar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan