Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah anda menentukan butang yang diklik dalam borang PHP dengan berbilang butang hantar?
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!