用echo $传过来的变量;

解决方案 »

  1.   

    假如你传过来的变量为$A
    你可以这样
    if ($A=="")
    {print"A为空";}
      

  2.   

    while(list($key, $val)=each($HTTP_POST_VARS)){
    if(empty($val))die("$key is empty");
    }
      

  3.   

    while(list($key, $val)=each($HTTP_POST_VARS)){
    if(empty($val))die("$key is empty");
    }
      

  4.   

    hehe ,我没有说清楚啊!
    比如说啊,有又一个查询页面,我要控制它,没有合适的变量就不进行
    查询,避免出错啊!
      

  5.   

    就是参数检查,防止出错和非法攻击呗不仅要检查是否“空”,还要检查具体内容是否合法,例如,需要整型数值的,进来一个"xyz"肯定不行,此外还有字符串的长度是否超过(这是溢出攻击的最简单手法)等没什么捷径,在每个接收参数的PHP文件的开始处,挨个判断每个变量
    我的PHP页面都是以一堆if(!( check1($var1) && check2($var2) && ... ))
    die('哈哈,想搞破坏,没门!');之类代码开头的
      

  6.   

    同意楼上的看法。最好再结合qiushuiwuhen的思路,即使用$HTTP_*_VARS[]数组来保证变量的来源。
      

  7.   

    if(empty($var))等效与if(!$var),所以不保险
    因为$var为0,也会返回真,所以要注意这种情况楼主的意思是对查询变量进行校验,符合条件就查询。比如校验变量必须为a-z,1-9等
    if(preg_match("/^[a-z\d]$/i",$var))
       echo "可以用来查询";
    else
      echo "非法字符,不能查询";
      

  8.   

    楼上的没错,具体检查某个变量时可以用正则表达式
    不过最好还是先检查所有变量的长度(所有参数其实都是字符串),才能有效杜绝溢出攻击,因为一个超长的字符串传给eregi之类的函数,可能还没发现问题就崩溃了,至少也影响速度