Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapakah `isset($_POST)` Kembali Benar untuk Input Borang Kosong?

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

DDD
DDDasal
2024-11-08 16:36:02642semak imbas

Why Does `isset($_POST)` Return True for Empty Form Inputs?

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!

Kenyataan:
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