Memahami Masalah "If isset $_POST"
Apabila bekerja dengan borang HTML dan PHP, menyemak sama ada input borang telah ditetapkan ialah dilakukan menggunakan fungsi isset(). Walau bagaimanapun, dalam senario tertentu, ia mungkin mengembalikan hasil yang positif walaupun apabila medan borang kosong. Ini boleh membawa kepada tingkah laku yang tidak dijangka dalam kod anda.
Isunya
Dalam contoh yang disediakan, input borang bernama "mel" sentiasa ditetapkan, tidak kira sama ada ia mengandungi data. Ini kerana kebanyakan input borang ditetapkan secara automatik apabila borang diserahkan, walaupun ia dibiarkan kosong.
Penyelesaian
Untuk menangani isu ini, anda perlu semak kewujudan input dan kekosongannya. Ini boleh dicapai menggunakan fungsi !empty().
Kod yang diperbetulkan:
<?php if (!empty($_POST["mail"])) { echo "Yes, mail is set"; } else { echo "No, mail is not set"; } ?>
Dalam kod ini, fungsi !empty() menyemak sama ada $_POST["mel" ] pembolehubah kosong. Jika ia tidak kosong, ini bermakna medan input mengandungi data dan ditetapkan. Jika tidak, ia akan mengembalikan palsu dan menunjukkan bahawa input tidak ditetapkan.
Atas ialah kandungan terperinci Mengapakah `isset($_POST)` Kembali Benar untuk Input Borang Kosong?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!