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

WBOY
Release: 2016-06-23 13:57:50
Original
1035 people have browsed it

网页上有一个新增/修改的功能,一个 if (isset($_POST['id']) && isset($_POST['uname'])&& !empty($_POST['id']) && !empty($_POST['uname'])) {
    $id = $_POST['id'];
    $uname= $_POST['uname'];
    if ($pid==0){
      新增用户---------------------如果传递过来的值是0,则不执行该语句,如果传来的值是00,则执行该语句。
    }else{
      修改用户
    }
}
cleanParameters($_GET);
cleanParameters($_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)
Copy after login

你可以看看 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{      修改用户    }}
Copy after login

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!