php $_post参数个数,问一个判断$_POST传递参数的问题,无法取数

网页上有一个新增/修改的功能,一个

用户姓名:

回复讨论(解决方案)

由于

所以

if (isset($_POST['id']) && isset($_POST['uname'])&& !empty($_POST['id']) && !empty($_POST['uname']))

因套红的部分不成立,不会进入分支

由于

所以

if (isset($_POST['id']) && isset($_POST['uname'])&& !empty($_POST['id']) && !empty($_POST['uname']))

因套红的部分不成立,不会进入分支

为什么id=0会被认为是empty?0起码也是个值啊!不算Empty啊

$a = '0';var_dump(! empty($a));//bool(false)

你可以看看 empty 的说明

规则是让你遵守的,或许有些差强人意

if ($pid==0){ 这里也有问题, $pid没有值的,$pid = $_POST['id'] 吧

empty ? 检查一个变量是否为空

bool empty ( mixed $var )

这个方法的规则就是这样

如果 var 是非空或非零的值,则 empty() 返回 FALSE 。换句话说,""、0、"0"、 NULL 、 FALSE 、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE 。

如果要判断0为非空,可以这样写。

if (isset($_POST['id']) && isset($_POST['uname'])&& ! (empty($_POST['id']) && $_POST['id']!=0) && !empty($_POST['uname'])) {

判断是否是表单提交只需

if($_SERVER['REQUEST_METHOD'] == "POST")

再简单一点就是

if($_POST)

提交的数据总是字符串,所以判断 id 控件是否为 0

if($_POST['id'] === '0')

即可

当然

if($_POST['id'] == '0')

if(empty($_POST['id']))

也都是可以的,不过就不能区分究竟是空白还是0了if ($_POST){ $id = $_POST['id']; $uname= $_POST['uname']; if ($id==0){ 新增用户---------------------如果传递过来的值是0,则不执行该语句,如果传来的值是00,则执行该语句。 }else{ 修改用户 }}

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值