关于session的范围的问题

超级大笨狼 2012-04-13 11:58:14
在用户登陆时用的session_start()和session_register()两函数,在标记<http>的前面定义的,注销是用的session_unregister()函数,是在<body>里面运行的。



  我现在想在<body>里面判断一下是不是合法用户,我是这样判断的。if(isset($ab) && !empty($ab))则显示某个<div>里的东西,但是现在出现的情况是 

  1。我注销后如果在地址栏上敲:index.php?ab=user后又进入该用户的界面了(div部分出现了)

  2.我没有注销,但是当我转到另外一个页面后在通过那个页面再回来是,用户页面又不见了,请问这是为什么?

  谢谢。



注:我的<div>在一个函数里面,我在写函数是用了global $ab.否则第一次登陆都不行。
...全文
150 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cy_9185 2012-04-14
  • 打赏
  • 举报
回复
看完楼主的帖子本人收获不少东西。
li55555558888 2012-04-14
  • 打赏
  • 举报
回复
学习 学习了。楼主怎么说看不懂。
  • 打赏
  • 举报
回复
我怀疑不是同一个人的操作……
一起混吧 2012-04-13
  • 打赏
  • 举报
回复
没看懂。自己回答了?
超级大笨狼 2012-04-13
  • 打赏
  • 举报
回复
如果ini没有配置session自动启动的话,每个要用session的页面都要加:session_start();



1.很简单的问题,你检查是$ab变量,这个可能包括session.get.post的函数,你在地址栏输入index.php?ab=user当然可以通过,自然可以进入了,解决方法是用session_is_regiatered("ab")就可以了

2.这个问题可以简单的理解为a.你没有启动session b.你没有在地址栏输入$ab=user



:)

---------------------------------------------------------------



顺便在说一句,要养成良好的习惯,取变量不要贪快,否则会造成不必要的麻烦和程序漏洞

post的变量就$HTTP_POST_VARS[]

get的变量就$HTTP_GET_VARS[]



---------------------------------------------------------------



PHP4用$_POST[]代替$HTTP_POST_VARS[]

$_GET[]代替$HTTP_GET_VARS[]
长沙-小刚 2012-04-13
  • 打赏
  • 举报
回复
比如你登录成功后,
$_SESSION['admin'] = '***';
注销:
unset($_SESSION['admin']);
coder 2012-04-13
  • 打赏
  • 举报
回复
用户的注销。可以这样
unset($_SESSION);
ted 2012-04-13
  • 打赏
  • 举报
回复
今天LZ发的都是散分贴啊。
belin520 2012-04-13
  • 打赏
  • 举报
回复
( ⊙o⊙ )哇,自问自答??

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧