我在用户登陆时用的session_start()和session_register()两函数,在标记
1<http>的前面定义的,注销是用的session_unregister()函数,是在<body>里面运行的。
2
3我现在想在<body>里面判断一下是不是合法用户,我是这样判断的。if(isset($ab) && !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>