php和mysql web开发原书第4版,有看过的来讨论个问题
书的第23章,最后一个logout.php这个脚本开始部分是这样的<?session_start();$old_user=$_SESSION['valid_user'];...
书的第23章,最后一个logout.php
这个脚本开始部分是这样的
<?
session_start();
$old_user = $_SESSION['valid_user'];
......
?>
如果用户没有登录,那么$_SESSION['valid_user']肯定就是未设置的,脚本会提示错误的
我先原以为这段脚本肯定是在用户已经登录的情况下使用
但是看了后面的代码我发现并不是这样
......
if(!empty($old_user))
{
}
esle
{
}
显然代码是想考虑到没有登录的情况的
但是这样代码肯定是有问题的,就是在最开始的地方会报$_SESSION['valid_user']未设置的错误
还请看的朋友说一说想法 展开
这个脚本开始部分是这样的
<?
session_start();
$old_user = $_SESSION['valid_user'];
......
?>
如果用户没有登录,那么$_SESSION['valid_user']肯定就是未设置的,脚本会提示错误的
我先原以为这段脚本肯定是在用户已经登录的情况下使用
但是看了后面的代码我发现并不是这样
......
if(!empty($old_user))
{
}
esle
{
}
显然代码是想考虑到没有登录的情况的
但是这样代码肯定是有问题的,就是在最开始的地方会报$_SESSION['valid_user']未设置的错误
还请看的朋友说一说想法 展开
3个回答
展开全部
我的想法是:一般的登录退出管理中应该有这种设计,当检测到有用户登录时,其logout即注销的按钮才能使用,如果检测到当前没有用户登录的话,其页面上应该显示的为登录和注册这样的按钮,直到检测到用户登录,其logout按钮 才会显示;
根据上述的逻辑,当使用logout时,其session中的valid_user一定是存在的;这里的代码只是做必要的检测或者示范而已;
根据上述的逻辑,当使用logout时,其session中的valid_user一定是存在的;这里的代码只是做必要的检测或者示范而已;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我看了,确实会有此疑问,但是我对此的理解是,如果用户手动输入URL的方式,访问logout.php也就是所说的“没有登录,但是不知怎地就到了这个页面”的情况,那么最多是给一个警告,Notice而已,下面的代码还是会执行。因此这里有瑕疵,但不是大问题。
补充:session没有声明就使用,只会给警告,我亲测了
补充:session没有声明就使用,只会给警告,我亲测了
追问
恩,是的,看来确实代码是考虑的不够周全把
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询