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"; }
Penjelasan:
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!