我的PHP会话让我又一次头疼。
我刚刚在我的PHP代码中创建了一个注销页面。
当用户单击链接时,他将被从系统中注销。
我从几个PHP手册中获得了我的代码。
密码很好用。没有problem.............except :当用户重新登录到我的网站时,上一次会话就被删除了!的意思是,当“主页”显示时,它丢失了几乎所有必需的变量(例如: firstname,lastname,etc...........mostly,用户的数据,他在注册或第一次注册时创建的)
注册本身是在我的INDEX.PHP文件中完成的(这是我发起会话的地方:INDEX.PHP文件)。
从那里,用户被带到登录-PHP文件(在那里他首次登录)
在那之后一切都很好。
然而,一旦他登录out.............and,然后尝试重新登录,所有的变量都消失了。好了!
我怀疑这个问题是由我在LOG_OUT.php文件中编写PHP代码的方式造成的:
<?php session_start();
unset($_SESSION);
session_destroy();
session_write_close();
header("url=http://localhost/return_to_main_page.html");
die;
exit;
?>也许,使用:UNSET,DIE,CLOSE,EXIT,DIE.........all,可能有点过火了??:)
(就像用火箭发射器射老鼠一样)
不确定。
“随便”,我的意思是:
(a)整个过程从A到Z都是工作的,但前提是每件事都是按顺序完成的--注册、登录、做你的东西、注销等等。但是,在此之后,如果用户试图重新登录,会话就会被“切断”。
(b)显然,这是愚蠢的。用户应该能够在他想要的任何时间和地点重新登录。(如果他在家里的电脑上注册了自己的账户,然后试图登录到澳大利亚的另一台电脑上呢?))
我在谷歌的任何地方都找不到类似的东西。我的猜测是:我的问题太愚蠢了,因此解决办法太明显了,从来没有人遇到过这样的问题。
发布于 2015-07-04 04:38:53
执行session_destroy()和unset ($_SESSION)等操作可能有点过分。
相反,只需:
<?php
session_start();
session_destroy();
header ('location:http://localhost/return_to_main_page.html');
?>这就是我在注销脚本中所做的。应该管用的。如果没有,请告诉我。
https://stackoverflow.com/questions/28780418
复制相似问题