2014-10-03 46 views
0

我有一個管理員登錄面板。我試圖用正確的數據登錄,但它沒有給我訪問。數據庫包含在fns.php中。請幫我看看這段代碼有什麼問題。會話登錄不起作用

我知道'session_is_registered'並不是最新的,但最終它不影響結果。所以我已經發布了最初的代碼,因爲我已經得到它。

<? 
session_start(); 

include("fns.php"); 
include("header.php"); 
if(([email protected]$password||!$login)&&!session_is_registered("admin")) 
{ 

?> 
<center> 
<b>Login here:</b> 
<table class=regform> 
<tr><td><form name="login" method="get" action="index.php"></td><td></td></tr> 
<tr><td>Login:</td><td> <input name="login" type="text"></td><br></tr> 
<tr><td>Password:</td><td> <input name="password" type="Password"></td><br><br></tr> 
<tr><td></td><td></td></tr> 
<tr><td><input name="enter" type="submit" class=submitbutton value="Verify"></td><td></td></tr> 
</table> 
</form> 
</center> 

<? 

} 
else{ 
if (!session_is_registered("admin")){ 
db_connect(); 
$result=mysql_query("select password from admin where login='$login'"); 
$result=mysql_fetch_array(@$result); 
if($password!=$result['password'] ||!$result) 
{echo "Access denied";} 
else{ 
session_register("admin"); 
$admin="admin";}} 
if (session_is_registered("admin")){ 


display_admin_menu(); 

} 
} 

?> 
<? 
include("footer.php"); 
?> 
+0

我見$登錄變量在您的查詢,你可以告訴它的價值,意味着它的如何獲得價值 – 2014-10-03 06:56:25

+2

一個側面說明:儘量不** **使用短開放的PHP標籤'<'改用'<?php' – bodi0 2014-10-03 07:02:53

+0

@ bodi0它不是一個附註,它是一個很好的音符,我甚至沒有注意到,謝謝 – 2014-10-03 07:05:16

回答

0

您缺少'$ login'變量。 另外 - 獲取密碼是錯誤的,您應該檢查用戶是否存在這些憑據,不提取密碼,然後將其與帖子相匹配。

<?Php 
session_start(); 

include("fns.php"); 
include("header.php"); 
if((!isset($_POST)&&!session_is_registered("admin")) 
{ 

?> 
<center> 
<b>Login here:</b> 
<table class=regform> 
<tr><td><form name="login" method="get" action="index.php"></td><td></td></tr> 
<tr><td>Login:</td><td> <input name="login" type="text"></td><br></tr> 
<tr><td>Password:</td><td> <input name="password" type="Password"></td><br><br></tr> 
<tr><td></td><td></td></tr> 
<tr><td><input name="enter" type="submit" class=submitbutton value="Verify"></td><td></td></tr> 
</table> 
</form> 
</center> 

<?Php 

} 
else{ 
if (!session_is_registered("admin")){ 
$login = mysql_real_escape_string($_POST['login']); 
$password = mysql_real_escape_string($_POST['password']); 
db_connect(); 
$result=mysql_query("select * from admin where login='$login' AND password = '$password'"); 
$result=mysql_fetch_array(@$result); 
if(!$result) 
{echo "Access denied";} 
else{ 
session_register("admin"); 
$admin="admin";}} 
if (session_is_registered("admin")){ 


display_admin_menu(); 

} 
} 

include("footer.php"); 
?> 
+0

在解析錯誤中解決:語法錯誤,第7行出現意外 – 2014-10-03 07:16:16