Memahami Gelagat "If isset $_POST"
Apabila membuat borang yang menyerahkan data ke halaman lain, adalah penting untuk mengesahkan input pengguna kepada pastikan data borang ada dan tidak kosong. Walau bagaimanapun, banyak pembangun menghadapi masalah apabila menyemak sama ada medan borang ditetapkan menggunakan "isset()." Artikel ini meneroka sebab "isset()" mungkin sentiasa kembali benar, walaupun untuk borang kosong dan menyediakan penyelesaian untuk menangani cabaran ini.
Salah satu prinsip asas borang web ialah semua medan input ditetapkan secara automatik apabila borang diserahkan, tidak kira sama ada ia mengandungi sebarang nilai. Ini bermakna apabila menyemak sama ada medan diisi atau tidak, bergantung semata-mata pada "isset()" boleh mengelirukan.
Untuk menentukan dengan tepat sama ada medan itu kosong, pembangun juga mesti menyemak kekosongannya. Operator "!empty()" boleh digunakan untuk mencapainya.
Berikut ialah versi contoh kod yang dipertingkatkan yang disediakan dalam soalan:
step2_check.php:
if (!empty($_POST["mail"])) { echo "Yes, mail is set"; } else { echo "No, mail is not set"; }
Dengan menggunakan "!empty()" dengan cara ini, kod kini membezakan dengan tepat antara medan yang ditetapkan tetapi kosong dan medan yang benar-benar tiada. Ini memastikan bahawa logik pengesahan beroperasi dengan betul dan menyediakan tingkah laku yang dimaksudkan.
Atas ialah kandungan terperinci Mengapakah 'isset($_POST)' Sentiasa Kembali Benar, Walaupun untuk Borang Kosong?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!