thinkphp的项目,碰到了一个怪事,
本地环境下点击登录后,顺利进入后台;
虚拟空间的网站,点击登录后,无法进入后台,没有报错,闪了一下仍停留在登录框;
跟踪了一下,同样是执行了以下语句:
$this->display('login');
public function login() {
恐怕不是这个login的事情呢,再上下文看看
你后台那里是不是有判断session的代码啊? 把那个去掉之后看看能不能进去
再一个你点击登录之后 页面跳转代码是什么?
public function index() { if (!empty($_SESSION[C('SESSION_ADMIN_NAME')]) && !empty($_SESSION[C('SESSION_ADMIN_ID')]) && strtolower(ACTION_NAME) != 'logout') { $this->redirect("Index/index"); } $this->display('login'); } /** * 登录判断 */ public function login() {
$this->display('login');
说错了,应该是!empty($_SESSION[C('SESSION_ADMIN_NAME')])是false, !empty($_SESSION[C('SESSION_ADMIN_ID')])也是false,就是两个SESSION都是空的
去掉!empty($_SESSION[C('SESSION_ADMIN_NAME')]) && !empty($_SESSION[C('SESSION_ADMIN_ID')]) && 语句后,
剩下:
if (strtolower(ACTION_NAME) != 'logout') { $this->redirect("Index/index"); }... ...
再一个你点击登录之后 页面跳转代码是什么?
更正一下,点击登录之后 页面是先跳转到 http://.../Login/login.htm
然后马上自动跳转到 http://.../Index/index.htm
最后又马上自动跳转到http://.../Home/Login/index.htm (登录页面)
$this->display('main'); } public function main() { $this->display('center'); }
\manager\Lib\Action\Home\LoginAction.class.php
public function logout() { session_destroy(); //cjq add $fp = fopen('./qerr1f.txt','w+'); fwrite($fp,"ok"); fclose($fp); $this->redirect('Login/index'); }
清空 Runtime 目录后再试
如果
public function logout() {
会被执行到,显然是你弄错了 url
logout 是注销!
清空 Runtime 目录后再试
如果
public function logout() {
会被执行到,显然是你弄错了 url
logout 是注销!
清空 Runtime 目录后再试
如果
public function logout() {
会被执行到,显然是你弄错了 url
logout 是注销!
请在虚拟机上开一个测试页面:
<?phpsession_start();if(empty($_SESSION['time'])){ $_SESSION['time'] = time();}echo $_SESSION['time'];?>
请在虚拟机上开一个测试页面:
<?phpsession_start();if(empty($_SESSION['time'])){ $_SESSION['time'] = time();}echo $_SESSION['time'];?>
<?phpecho $_SESSION[C('SESSION_ADMIN_NAME') ? $_SESSION[C('SESSION_ADMIN_NAME') : "NULL";?>
<?phpecho $_SESSION[C('SESSION_ADMIN_NAME') ? $_SESSION[C('SESSION_ADMIN_NAME') : "NULL";?>