欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

为什么空提交内容后显示这个?

程序员文章站 2022-05-19 10:34:07
...
如果什么都不输入 直接点击提交按钮 打印出来的是“没有” 为什么不是“你还没有输入”呢 我在前面已经做过判断了啊 isset($_POST['num'] 如果是空的内容应该就走最后一个else了啊 为什么不管用呢?





prepare("select * from aaa where num=?"); $stmt->execute(array($_POST['num'])); $res=$stmt->fetchall(PDO::FETCH_ASSOC); if($res){ foreach($res as $v){ echo $v['name']; } }else{ echo "没有"; } }else{ echo "你还没有输入"; } ?>

回复内容:

如果什么都不输入 直接点击提交按钮 打印出来的是“没有” 为什么不是“你还没有输入”呢 我在前面已经做过判断了啊 isset($_POST['num'] 如果是空的内容应该就走最后一个else了啊 为什么不管用呢?






prepare("select * from aaa where num=?"); $stmt->execute(array($_POST['num'])); $res=$stmt->fetchall(PDO::FETCH_ASSOC); if($res){ foreach($res as $v){ echo $v['name']; } }else{ echo "没有"; } }else{ echo "你还没有输入"; } ?>

isset($_POST['num'] )是判断存在这个变量名,只要存在了,
无论是空还是Null什么的,都会都进判断。
你应该修改成 if(trim($_POST['num']))

把isset方法改为empty即可:num不是没有设置值,而是为空

楼上正解,有时候你也可以这样写,if(isset($data) && $data){}

相关标签: php