2017-03-28 67 views
-2

我想重定向我的登錄到其他頁面,如果信息不正確。看來else語句是不正確的。請幫幫我!感謝意外'其他'(T_ELSE)

語法錯誤,意想不到的 '其他'(T_ELSE)

<?php 
$host="localhost"; 
$username="root"; 
$password=""; 
$dbname="oims2_db"; 
$tbl_name="administrator_tbl"; 
$tbl_name2="employee_tbl"; 
mysql_connect($host,$username,$password) or die("error for connect"); 
mysql_select_db($dbname) or die("error"); 

$AdminI = $_POST['AdminI']; 
$AdminU = $_POST['AdminU']; 
$AdminP = $_POST['AdminP']; 

$sql="SELECT * FROM $tbl_name WHERE Admin_ID='$AdminI' and Admin_Username='$AdminU' and Admin_Password='$AdminP'"; 
$result=mysql_query($sql); 
$count= mysql_num_rows($result); 

$_SESSION["login_val"] = $count; 

if($count==1) 
{ 
echo "login successful " . $_SESSION{"login_val"}; 
header("location:1home.php"); 
} 

$mysqli="SELECT * FROM $tbl_name2 WHERE Emp_ID='$AdminI' and Emp_Firstname='$AdminU' and Emp_Lastname ='$AdminP'"; 

    $result1=mysql_query($mysqli); 
$count1= mysql_num_rows($result1); 
$_SESSION1["login_val1"] = $count1; 


else 
{ 
    header("location:1portal.php"); 

} 

?> 
+1

你的代碼的一些適當的縮進會使它**變得更容易閱讀。 – Qirel

+0

代碼b/w IF和ELSE是一個問題.. :)和'mysql'擴展名是另一個。 – devpro

+0

如果 – Hossam

回答

0

你的代碼應該讀作的最後部分如下:

$mysqli="SELECT * FROM $tbl_name2 WHERE Emp_ID='$AdminI' and Emp_Firstname='$AdminU' and Emp_Lastname ='$AdminP'"; 

$result1=mysql_query($mysqli); 
$count1= mysql_num_rows($result1); 
$_SESSION1["login_val1"] = $count1; 
if($count==1) 
    { 
    echo "login successful " . $_SESSION["login_val"]; 
    header("location: 1home.php"); 
    exit; 
    } 

    else 
    { 
     header("location: 1portal.php"); 
     exit; 
    }  


    ?> 

其他聲明應如果聲明總是跟在之後。兩者之間不應有任何代碼。

另外,我注意到你仍然在使用mysql,現在它已經被解壓。改爲使用mysqli or PDO

+0

所以,當你重定向你的標題時,你怎麼會期望最後一段代碼被執行? – Qirel

+0

我的不好,在我那裏有一個小小的疏忽... –

+0

最有可能的代碼應該在'if'裏面,但是代碼中有太多的pitholes,我們永遠無法確定,我們可以;-)另外,應該注意的一點是,應該總是在'header(「Location:..);'調用後面使用'exit;' – Qirel

相關問題