Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah anda menentukan butang yang diklik dalam borang PHP dengan berbilang butang hantar?

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

DDD
DDDasal
2024-11-14 17:34:02485semak imbas

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)
    }
}

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">

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)
}

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

Kenyataan:
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