If statement PHP


If statement PHP

在这段代码中,第一个和第二个控件不起作用!

我的想法是,如果其中一个字段是空的,有一个错误。换句话说,所有字段都是期望的。

if(!empty($nome) && !empty($cognome) == 0)
    header("location: ./content_reg_comeunprodigio_no.html");
else if($dati_pers == 'n')
    header("location: ./content_reg_comeunprodigio_trattamentodati.html");
else
{
    $query = "INSERT INTO persons_comeunprodigio (nome, cognome)
                  VALUES ('$nome', '$cognome')";
    mysqli_query($db, $query) or die(mysqli_error());
    header("location: ./content_reg_comeunprodigio_ok.html");
}

提前感谢!

将if改为

if(empty($ name) || empty($cognome) {

}

,如果您正在测试空字段。如果字段不为空,!empty()在任何情况下都将返回true(>0),并且您期望等于0,我认为这与您的意图相反。

你没有提供足够的关于$ date_pers的信息来分析

我只能说,你的比较!empty($nome) && !empty($cognome) == 0是罪魁祸首。因为!empty($cognome)只会== 0,如果$cognome不是空的…可能不是你想要的。

你可以尝试用两个if块替换if/else if/else块。在标题后添加die();,因此PHP处理停止。如果你喜欢,你可以按照评论者的建议保留if/else if/else块。

if( empty($nome) || empty($cognome) ){
    // $nome or $cognome is empty
    header("location: ./content_reg_comeunprodigio_no.html");
    die();
}
if($dati_pers == 'n') {
    header("location: ./content_reg_comeunprodigio_trattamentodati.html");
    die();
}
$query = "INSERT INTO persons_comeunprodigio (nome, cognome)
              VALUES ('$nome', '$cognome')";
mysqli_query($db, $query) or die(mysqli_error());
header("location: ./content_reg_comeunprodigio_ok.html");