-1

我为登录页面编写了一小段代码。代码如下:

if($user == "" || $pass == "") 
{ 
    echo "Please fill in all the information!"; 
} 

//Check to see if the username AND password MATCHES the username AND password in the DB 
else 
{ 
    $query = mysqli_query($con,"SELECT * FROM members WHERE username = '$user' and password = '$pass'") or die("Can not query DB."); 
    $count = mysqli_num_rows($query);
    
    if ($count == 1) 
    {
        $_SESSION['username']=$user; //Create a session for the user! 
        header ("location: members.php"); 
    } 
    
    else{ 
        echo "Username and Password DO NOT MATCH! TRY AGAIN!"; 
    } 
} 

我无法运行我的脚本,它返回以下错误:

PHP 解析错误:语法错误,第 38 行 /var/www/user/login.php 中的意外“if”(T_IF)(第二个“if”)

4

1 回答 1

2

您的脚本中似乎有奇怪的字符。当我删除你粘贴的代码中的缩进时,下一行会报语法错误。

在有问题的行之前,缩进中有一个“不间断空格”字符(代码 160, 0xa0)。这是第 36 到 38 行在可见空白处的外观:

36: \t\t$count = mysqli_num_rows($query);\n
37: \t\xa0\t\n
      ^^^^ 不间断空间
38: \t\tif ($count == 1) \n

用常规空格替换它,您的代码应该运行。

奇怪的是,PHP 在下一个标记上窒息,而不是抱怨源代码中存在无效字符。

于 2013-09-29T07:15:01.863 回答