2013-05-26 79 views
-3

我試圖創建一個會話區分兩種類型的用戶,「管理員」和「其中每個類型的用戶將在登錄成功後被定向到不同的登錄頁面,這是通過比較用戶名和密碼與數據庫中的用戶名和密碼進行比較來完成的,其中兩個字段匹配都會導致登錄成功。用戶輸入的用戶名和密碼將與從不同類型的用戶對應的不同表中得出的值進行比較。解析錯誤:語法錯誤,意想不到的'{',期待'('在線32

但是,我得到錯誤解析錯誤:語法錯誤,unexpe ''',期待'('在第32行。我已經做了一些搜索周圍的StackOverflow和最接近的答案我可以找到從Parse error Unexpected (, expected , in php when assign content file to a static property這似乎並不適用於我,從我可以做到的。大多數我在堆棧溢出中看到的有關解析錯誤的問題是因爲人們忘記關閉它們的「}」或「)」。然而,我收到有關錯誤的意外「{」,當「(」預計爲什麼會這樣???

我的代碼如下:

<?php 

session_start(); 
switch ($_POST[‘Button’]) 
{ 
case "Login": 
    include("cxn.inc"); 
    $cxn=mysqli_connect($host,$user,$pass,$db) or die("Can't connect to database"); 
    $query="SELECT * FROM Users WHERE Username='$_POST[Username]'"; 
    $result=mysqli_query($cxn,$query) or die (" Cant find Username"); 
    $num=mysqli_num_rows($result); 


     if($num>0)//Username is found 
     { 
      $query="SELECT * FROM Users WHERE Password='$_POST[Password]'"; 
      $result2=mysqli_query($cxn,$query)or die("Cant find Password"); 
      $num2=mysqli_num_rows($result2); 
      if($num2>0)//Password is found 
      { 
       $_SESSION['Auth']="Yes"; 
       $_SESSION['Type']="Admin"; 
       header("Location:AdminMain.php"); 
      } 
      else 
      { 
       echo"Invalid Username and/or Password"; 
      } 

     } 
     elseif//Executes when Username not found in Users table 
     { <---This is the line giving me the error 
      $query="SELECT * FROM SubUsers WHERE Username='$_POST[Username]'"; 
      $result3=mysqli_query($cxn,$query) or die(" Cant find Username"); 
      $num3=mysqli_num_rows($result3); 
      if($num3>0)//Username is found 
      { 
       $query="SELECT * FROM SubUsers WHERE Password='$_POST[Password]'"; 
       $result4=mysqli_query($cxn,$query); 
       $num4=mysqli_num_rows($result4); 
       if($num4>0)//Password is found 
       { 
        $_SESSION['Auth']="Yes"; 
        $_SESSION['Type']="Sub"; 
        header("Location:SubMain.php"); 
       } 
       else 
       { 
        echo"Cant find Password"; 
       } 
      } 
      else 
      { 
       echo"Cant find Username"; 
      } 
     } 
     else 
     { 
      echo"Invalid Username and/or Password entered"; 
     } 
    include("LoginPage.php"); 

    break; 
} 

我將不勝感激它,如果任何人都可以指出我的錯誤。

回答

1

這是因爲如果你使用else if那麼你將有指定的條件。

elseif($num == 0) 
{ 

這將使得它去檢查是否> 0那麼如果= 0和其他人將< 0

+0

......上帝我現在覺得愚蠢大聲笑。感謝您向我指出那顯而易見的錯誤haha –

+0

@ken歡迎您!不要忘記接受並讚揚我的答案,以幫助將來出現類似問題的人們! – Fabio

相關問題