当前位置:Gxlcms > PHP教程 > session的奇怪问题(已经搜索过,自己还解决不了)_PHP教程

session的奇怪问题(已经搜索过,自己还解决不了)_PHP教程

时间:2021-07-01 10:21:17 帮助过:8人阅读

session的奇怪问题(已经搜索过,自己还解决不了)

我的登陆主页面,就是判断是否登陆,直接输入地址饶过登陆窗口,第一次出现 你无权访问 ,session文件里出现admin|b:0; 刷新一次,出现 你已经登陆
Notice: Undefined index: name in d:usrwwwhtmldengluindex.php on line 5
111122223333
session文件里的那个文件又变成admin|b:1; admin的值为1了。奇怪呀!!!
这就是index.php的代码:

$admin=false;
if(isset($_SESSION['admin'])&&$_SESSION['admin']=true)
{ echo "你已经登陆";
echo $_SESSION['name'];
}
else
{$_SESSION['admin']=false;

die("你无权访问");
header("Location:login.htm");
}

?>

111122223333






在前面的验证中,如果用户名和密码正确,则让$_SESSION['admin'] = true;

这是 login.php代码:
$xm=$_POST['xingming'];
$ps=$_POST['password'];
$_SESSION['admin'] = false;
$link = mysql_connect('localhost','root','');
$db = mysql_select_db('hehetsg');
$result = mysql_query("select * from user where user = '$xm' and psw ='$ps'");
if ($row=mysql_fetch_array($result))
{ if ($row['psw']==$ps and $row['flag']==1)
{ $_SESSION['name']=$row['name'];
$_SESSION['admin'] = true;
echo "欢迎管理员进入!";
echo "管理界面";

}
else
{ echo "不是管理员。对不起!";
echo "点击返回";
}
}
else { echo "你的信息不全!";
echo "点击返回";
}

?>

在这里输入登陆的信息:





登陆页面










[ ]



echo "
";echo "
";echo "
";

高!!!!!

帮我解决才是高呀!!呵呵

在session_start()前加error_reporting(0);

isset($_SESSION['admin'])&&$_SESSION['admin']=true
是个逻辑错误

原帖由 七月十五 于 2008-7-19 16:33 发表 [url=http://www.111cn.cn/bbs/redirect.php?goto=findpost&pid=505295&ptid=70090]链接标记[img]http://www.111cn.cn/bbs/images/common/back.gif[/img][/url]
在session_start()前加error_reporting(0);
感谢,但是……
加了这个,没有错误了,可是我的验证还是不行呀

登不登 都成了 管理员登陆了。
验证不成意义了。

原帖由 dongxin1390008 于 2008-7-19 16:34 发表 [url=http://www.111cn.cn/bbs/redirect.php?goto=findpost&pid=505300&ptid=70090]链接标记[img]http://www.111cn.cn/bbs/images/common/back.gif[/img][/url]
isset($_SESSION['admin'])&&$_SESSION['admin']=true
是个逻辑错误
那正确的怎么写呢?

die("你无权访问");
header("Location:login.htm");

这里也有问题


header 前面不能有任何输出

逻辑的等于是2个等号,赋值是一个等号,
isset($_SESSION['admin'])&&$_SESSION['admin']=true
你这样写的话就是只要我的$_SESSION["admin"]不为空即可登陆,所以后面的
正确的:
isset($_SESSION['admin'])&&$_SESSION['admin']==true

请大家能帖出正确的代码吗?

帮助新手,
非常感激

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632376.htmlTechArticlesession的奇怪问题(已经搜索过,自己还解决不了) 我的登陆主页面,就是判断是否登陆,直接输入地址饶过登陆窗口,第一次出现 你无权...

人气教程排行