关于session的范围的问题

我在用户登陆时用的session_start()和session_register()两函数,在标记

 1<http>的前面定义的,注销是用的session_unregister()函数,是在<body>里面运行的。   
 2  
 3我现在想在<body>里面判断一下是不是合法用户,我是这样判断的。if(isset($ab) &amp;&amp; !empty($ab))则显示某个<div>里的东西,但是现在出现的情况是   
 41。我注销后如果在地址栏上敲:index.php?ab=user后又进入该用户的界面了(div部分出现了)   
 52.我没有注销,但是当我转到另外一个页面后在通过那个页面再回来是,用户页面又不见了,请问这是为什么?   
 6谢谢。   
 7  
 8注:我的<div>在一个函数里面,我在写函数是用了global $ab.否则第一次登陆都不行。   
 9  
10\---------------------------------------------------------------   
11  
12可能是你返回原来页面的时候已经注销了.   
13把程序帖出来   
14\---------------------------------------------------------------   
15  
16大概理解你的意思:   
17如果ini没有配置session自动启动的话,每个要用session的页面都要加:session_start();   
18  
191.很简单的问题,你检查是$ab变量,这个可能包括session.get.post的函数,你在地址栏输入index.php?ab=user当然可以通过,自然可以进入了,解决方法是用session_is_regiatered("ab")就可以了   
202.这个问题可以简单的理解为a.你没有启动session b.你没有在地址栏输入$ab=user   
21  
22:)   
23\---------------------------------------------------------------   
24  
25顺便在说一句,要养成良好的习惯,取变量不要贪快,否则会造成不必要的麻烦和程序漏洞   
26post的变量就$HTTP_POST_VARS[]   
27get的变量就$HTTP_GET_VARS[]   
28  
29\---------------------------------------------------------------   
30  
31PHP4用$_POST[]代替$HTTP_POST_VARS[]   
32$_GET[]代替$HTTP_GET_VARS[]</div></div></body></body></http>
Published At
Categories with Web编程
Tagged with
comments powered by Disqus