我发现了一些奇怪的事情:
if(isset($_POST['name'])){
echo $_POST['name'];
}
else{
echo "please enter name";
}
在上面的例子中,else语句不起作用。
if(empty($_POST['name'])){
echo "please enter name";
}
else{
echo $_POST['name'];
}
但是当我这样做时,它会起作用。谁能告诉我为什么会这样?
答案 0 :(得分:3)
试试这个:
isset() function is not able to fetch blank && zero value.
so always use empty() with it.
if(isset($_POST['name']) && !empty($_POST['name']))
{
echo $_POST['name'];
}
else
{
echo "please enter name";
}
- 感谢
答案 1 :(得分:0)
$_POST['name']
已设置但它包含空值,因此请添加if((isset($_POST['name'])) and (empty($_POST['name']))
答案 2 :(得分:0)
我假设您正在提交表单,其中字段name
为空,但它存在(或者换句话说 isset )
isset
和empty
之间的区别在于,后者假定$_POST['name']
存在,但包含空值,例如""
或0
,而第一个仅检查,如果 $_POST
包含元素name
。
当您的表单包含字段时,它将被提交并因此被设置,无论它是否有任何内容(即为空)。