所以我用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";
}
答案 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";
}
}