Rumah > pembangunan bahagian belakang > tutorial php > Mengapakah `isset($_POST)` Sentiasa Kembali Benar untuk Borang Kosong?

Mengapakah `isset($_POST)` Sentiasa Kembali Benar untuk Borang Kosong?

Linda Hamilton
Lepaskan: 2024-11-08 19:08:02
asal
545 orang telah melayarinya

Why Does `isset($_POST)` Always Return True for Empty Forms?

Menyingkap Misteri: Mengapa "isset($_POST)" Sentiasa Kembali Benar, Walaupun dengan Borang Kosong

Apabila berurusan dengan penyerahan borang, adalah perkara biasa untuk bergantung pada fungsi isset() untuk menyemak sama ada nilai medan tertentu telah disediakan. Walau bagaimanapun, anda mungkin menghadapi situasi yang membingungkan di mana isset($_POST["field_name"]) sentiasa menilai kepada benar, walaupun jika medan yang sepadan dalam borang yang diserahkan dibiarkan kosong.

Menjejaki Teka-teki: Memahami Gelagat Input Borang

Penyebabnya terletak pada sifat input borang. Secara lalai, kebanyakan input borang sentiasa dianggap "ditetapkan", tidak kira sama ada pengguna telah memberikan sebarang nilai. Ini kerana ia secara automatik diisi dengan nilai rentetan kosong.

The Missing Piece: Incorporating Emptiness Check

Untuk menangani isu ini, anda mesti menambah isset() check dengan pemeriksaan kekosongan. Satu cara untuk mencapai ini ialah dengan menggunakan fungsi empty().

Menulis Semula Kod dengan Semakan Kekosongan:

if (!empty($_POST["mail"])) {
    echo "Yes, mail is set";    
} else {  
    echo "No, mail is not set";
}
Salin selepas log masuk

Penjelasan:

  • Fungsi !empty() menilai kepada benar hanya jika nilai $_POST["mail"] tidak kosong.
  • Ini memastikan bahawa "Ya, mel adalah set" mesej dipaparkan hanya jika pengguna telah memberikan nilai untuk medan mel.
  • Mesej "Tidak, mel tidak ditetapkan" dipaparkan apabila medan dibiarkan kosong.

Kesimpulan:

Dengan memasukkan semakan kekosongan ke dalam kod anda, anda boleh menentukan dengan tepat sama ada medan borang telah diberikan nilai, menyelesaikan isu "isset($_POST)" sentiasa kembali benar untuk medan kosong.

Atas ialah kandungan terperinci Mengapakah `isset($_POST)` Sentiasa Kembali Benar untuk Borang Kosong?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan