我发现一些奇怪的事情发生了:
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'];
}
但是当我这样做的时候,它工作了。有人能告诉我为什么会这样吗?
试试这个:
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";
}
——由于
我假设您正在提交一个表单,其中字段name
为空,但它存在(或换句话说isset)。
isset
和empty
之间的区别在于,后者假设$_POST['name']
存在,但包含一个空值,例如""
或0
,而前者仅在 $_POST
包含元素name
时才检查。
当你的表单包含一个字段时,它将被提交并因此被设置,无论它是否有任何内容(即为空)
$_POST['name']
正在被设置,但它包含空值,所以添加if((isset($_POST['name'])) and (empty($_POST['name']))