两个字段都未填写登录语句

时间:2014-02-14 13:07:39

标签: php if-statement login

所以我用Php构建一个经典的基于页面的登录系统。目前,我确保表单字段按预期工作,并提供正确的回显消息。如果用户名字段为空,密码字段为空并且两个字段都已填写,我让他们工作。

我的问题是我似乎无法获得第四个声明,当两个字段都没有填写时,它会收到响应。

我尝试过添加:

}elseif(!$email)&&(!$PassWord){
echo "You did not fill in two form fields";
}

在下面的语句的底部,但我只是不断收到错误。任何解决方案,因为我对PHP很新?

if($Action=="Login"){
if(!$email){
echo "You did not fill in the User Name form field";
}elseif(!$PassWord){
echo "You did not fill in the Password form field";
}else{
echo "Welcome $email. You filled in both form fields correctly";
}

3 个答案:

答案 0 :(得分:2)

在检查其余部分之前,先将其放在条件语句中。     '如果(($电子邮件)及!&安培;!($密码))' 正如现在所写,每次你通过你的条件陈述时,你都会设置'if(!$ email)'条件,并且永远不会通过你的'if((!$ email)&&(! $密码))”

所以看起来大概是这样的:

if((!$email)&&(!$password)){ echo 'all blank'; } /// requires both to be blank
elseif(!$email){ echo 'email blank'; } /// only requires email to be blank
elseif(!$password){ echo 'password blank'; } ///only requires password to be blank
else{echo 'good job!';} /// SUCCESS! 

答案 1 :(得分:1)

第一个代码块应包含:

elseif(!$email && !$PassWord)

第二个错过了结束}

作为提示,请尝试缩进代码,以便更易读,更容易调试。并尝试遵循一些约定:camelCased变量名称(或下划线变量名称) - 不要大写某些变量名称,有些不是;不要大写和camelCase相同的变量名称。坚持这些惯例将使您的生活更轻松。

答案 2 :(得分:1)

此行elseif(!$email)&&(!$PassWord){

中存在语法错误

试试这个,

elseif(!$email && !$PassWord){
    ..^                     ^...

而不是

elseif(!$email)&&(!$PassWord){  

您的代码应该是,

if($Action=="Login"){
    if( !$email && !$PassWord ){
         echo "You did not fill in two form fields";
    }else if(!$email){
        echo "You did not fill in the User Name form field";
    }elseif(!$PassWord){
        echo "You did not fill in the Password form field";
    }else{
        echo "Welcome $email. You filled in both form fields correctly";
    }
}