Php 会话登录不工作

Php 会话登录不工作,php,session,login,Php,Session,Login,我有一个管理员登录面板。我试图用正确的数据登录,但它没有给我访问权限。该数据库包含在fns.php中。请帮我找出这个代码的错误 我知道“session\u is\u registered”不是最新的,但最终它并没有影响结果。所以我发布了我得到的初始代码 <? session_start(); include("fns.php"); include("header.php"); if((!@$password||!$login)&&!session_is_registere

我有一个管理员登录面板。我试图用正确的数据登录,但它没有给我访问权限。该数据库包含在fns.php中。请帮我找出这个代码的错误

我知道“session\u is\u 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");
?>

在此处登录:
登录:
密码:


缺少“$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");
?>

我在你的查询中看到$login变量,你能告诉我它的值是什么,它是如何得到值的吗?
旁注:尽量不要使用短的打开的PHP标记
@bodi0它不是旁注,它是一个很好的旁注,我甚至没有注意到,谢谢。我不知道它是从哪里来的在
db_connect()之后添加这一行
$login=$\u POST['login']
;告诉我们它有用吗