会话登录无效

时间:2014-10-03 06:52:59

标签: php session login

我有一个管理员登录面板。我尝试使用正确的数据登录,但它没有让我访问。该数据库包含在fns.php中。请帮我解决这段代码的错误。

我知道'session_is_registered'不是最新的,但最后它并没有影响结果。所以我已经发布了初始代码,因为我已经得到了它。

<?
session_start();

include("fns.php");
include("header.php");
if((!@$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");
?>

1 个答案:

答案 0 :(得分: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");
?>