如果嵌套在php中不起作用的话

时间:2015-11-03 12:46:06

标签: php

我不知道这段代码有什么问题,else中的陈述没有反映出来。我已经阅读了很多次,仍然无法弄清楚.. :(

    if(isset($_POST['ad_lg'])){
        $lg= $_POST['ad_lg'];

        if(!empty($lg)){
            $insert_lg = "INSERT INTO 'urlg' VALUE('$lg')";
            $insert_lg_run= mysql_query($insert_lg);
            header("location: index.php");                  
        }else{
            echo 'sth';
        }
    }
请帮助我。提前谢谢^^

5 个答案:

答案 0 :(得分:2)

从第一个if移动您的第二个if语句:

$lg = '';
if(isset($_POST['ad_lg'])){
    $lg= $_POST['ad_lg'];
}

if(!empty($lg)){
        $insert_lg = "INSERT INTO 'urlg' VALUE('$lg')";
        $insert_lg_run= mysql_query($insert_lg);
        header("location: index.php");                  
    }else{
        echo 'sth';
}

答案 1 :(得分:0)

您需要在isset(...)以及

上添加其他内容
if(isset($_POST['ad_lg'])){
    $lg= $_POST['ad_lg'];

    if(!empty($lg)){
        $insert_lg = "INSERT INTO 'urlg' VALUE('$lg')";
        $insert_lg_run= mysql_query($insert_lg);
        header("location: index.php");                  
    }else{
        echo 'sth';
    }
}else{
    echo 'sth';
}

否则如果未设置$_POST['ad_lg'],您将不会回显任何内容。

答案 2 :(得分:0)

要使此代码到达echo 'sth',您需要将ad_lg POST变量设置为为空。

我相信ad_lg=""会奏效。

答案 3 :(得分:0)

试试这段代码:

if(!empty($_POST['ad_lg'])){ 
  $lg= $_POST['ad_lg']; 
  $insert_lg = "INSERT INTO 'urlg' VALUE('$lg')"; 
  $insert_lg_run= mysql_query($insert_lg); 
  header("location: index.php"); 
} else{ 
  echo 'sth'; 
} 
  

清空检查变量是否已设置以及是否检查变量   null,"",0等

使用empty时,以下内容被视为空:

  • "" (空字符串)
  • 0(0为整数)
  • 0.0(0作为浮动)
  • " 0" (0作为字符串)
  • NULL
  • FALSE

答案 4 :(得分:0)

isset实际检查变量是否存在并具有值。 所以你的$ lg里面有一个值if(isset),所以不会打印。