解决方案 »

  1.   

    这里无论如何都会执行到else代码里面去呀  你可以在最后一个else  输出一个值调试下  我想问题应该在这里
      

  2.   

    if(!isset($_POST['porgnum']) && empty($_POST['porgnum'])){
    这个就不对了
    应该是 if(isset($_POST['porgnum']) && empty($_POST['porgnum'])){
    $_POST['porgnum'] 存在且为空按你写的,如果 $_POST['porgnum'] 不存在的话,不就进到 else 分支了吗?
    其他类同
      

  3.   

    你没理解isset是什么意思,把&&换成或者(||)
      

  4.   

    这个完全是你自己疏忽了或者对isset没有理解
      

  5.   


    大神,我刚调试了一下,你说的是正确的,太大意了,那如果我把EMPTY去掉,ISSET不能检测空值么?
      

  6.   


    刚刚看手册了,ISSET仅能检测变量定义
      

  7.   


    我一直记得ISSET可以检测空值……
      

  8.   

    实际我推荐用正则验证是不是为空
    if(preg_match('/^\S+/',$_POST['porgnum']){
         //不为空
    }else{
       //为空
    }
      

  9.   

    isset 检查变量是否定义。
    没有定义放入变量当然可以认为是空
    但值为空的变量也是变量呀
    所以逆命题不成立