2014-10-03 30 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