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

DDD
Lepaskan: 2024-11-08 16:36:02
asal
687 orang telah melayarinya

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";
}
?>
Salin selepas log masuk

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan