我想判断一个$_GET['pid']是否为数字或者没有设置。代码如下:if (!is_numeric($_GET['pid']) || !isset($_GET['pid'])) {
// visit error
header('Location: index.php');
exit();
}可是怎么都有问题。到底是为什么??

解决方案 »

  1.   

    if (empty($_GET['pid'])) { 
      

  2.   


    是这样吗?if (!is_numeric($_GET['pid']) || empty($_GET['pid'])) {
    // visit error
    header('Location: index.php');
    exit();
    }但是还是会进header啊,怎么回事呢?
      

  3.   

    你传的pid是什么值!------------------测试哥的签名--------------------------
    哥默默的低下头,不是哥修养好,而是哥在找砖头!
    --------------------------------------------------------
      

  4.   

    我php传的是数字啊,1、2、3等等。我想判断要不就传入了数字,要不就不传。怎么实现呢??看似很简单……汗。
    呵呵,你太活跃啦~老看到你了。
      

  5.   


    if (is_numeric($_GET['pid']) || empty($_GET['pid'])) { 
      ...
    } else {
      header('Location: index.php'); 
      exit(); 
    }我觉得应该是这样
      

  6.   

    你是想传入数字 或者 不传什么值 都跳转到index.php是吗?if (is_numeric($_GET['pid']) || empty($_GET['pid'])) {
        // visit error
        header('Location: index.php');
        exit();
    }
      

  7.   

    应该这样$pid=intval($_GET['pid'])?$_GET['pid']:null;//转换一下
    if (!is_numeric($pid) || !isset($pid)) {
        // visit error
        header('Location:index.php');
        exit();
    }