在这段代码中,第一个和第二个控件不起作用!
我的想法是,如果其中一个字段是空的,有一个错误。换句话说,所有字段都是期望的。
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");