if ... else函数不起作用

时间:2013-12-26 08:10:23

标签: php echo

使用或不使用userid和pwd为null,以及使用id:johntan,密码niceday登录时,回复“登录不成功”。当用户名和密码为空时,它应该是“登录不成功”,当登录时使用id:johntan,密码niceday将其重定向到另一个页面。

<?php 
if(!empty($_POST['userid'])){
$userid = $_POST['userid'];
}
else{
$userid = null; 
}
if(!empty($_POST['pwd'])){
$password = $_POST['pwd'];
}
else{
$password = null;
}
if($userid!=null && $password!=null){
if($userid=="johntan" && $password=="niceday"){
    header("location:fashionsummary.html");
}
else{
    $wronglogin = true;
}
}
?>
<?php 
if($wronglogin == true){
echo <<< <b><font color='red'>Login is not successful. Please try again</font></b>
;
}
?>

3 个答案:

答案 0 :(得分:2)

使用如下:

if(!empty($_POST['userid'])){
    $userid = $_POST['userid'];
}
else{
    $userid = null; 
}
if(!empty($_POST['pwd'])){
    $password = $_POST['pwd'];
}
else{
    $password = null;
}
if($userid!=null && $password!=null){
    if($userid=="johntan" && $password=="niceday"){
        header("location:fashionsummary.html");
    }
    else{
        $wronglogin = true;
    }
}
?>
<?php 
if($wronglogin == true){
    echo "<font color='red'>Login is not successful. Please try again</font></b>";
}

这是因为你的回声线,即

 echo <<< <b><font color='red'>Login is not successful. Please try again</font></b>

给出错误:

Parse error: syntax error, unexpected T_SL in E:\xampp\htdocs\testfolder\test1.php on line 25

您可能已关闭错误报告。

答案 1 :(得分:1)

if($wronglogin == true){
   echo <<<EOF
   <b><font color='red'>Login is not successful. Please try again</font></b>
EOF;
}

根据Docs

  

&LT;&LT;&LT;在此运算符之后,提供标识符,然后提供换行符。该   字符串本身跟随,然后再次使用相同的标识符来关闭   报价。结束标识符必须从该行的第一列开始。

你没有观察到。

答案 2 :(得分:0)

我个人建议也提供错误信息

if(!empty($_POST['userid'])){
   $userid = $_POST['userid'];
}else{
   $userid = null;
   echo 'Please fill in the username'; 
}
if(!empty($_POST['pwd'])){
   $password = $_POST['pwd'];
}else{
    $password = null;
    echo 'Please fill in the password';
}