Php 会话登录不工作
我有一个管理员登录面板。我试图用正确的数据登录,但它没有给我访问权限。该数据库包含在fns.php中。请帮我找出这个代码的错误 我知道“session\u is\u registered”不是最新的,但最终它并没有影响结果。所以我发布了我得到的初始代码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
<?
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']
;告诉我们它有用吗