phpcms前台退出登录的时候提示信息'退出成功0'

2018-11-25 浏览:2043
phpcms前台退出登录的时候提示信息'退出成功0'
评论:(0)复制地址

问题背景:

phpcms前台退出登录的时候,提示了一个退出成功0

让我很困惑为啥有个0呢?

 

问题分析:

进入

./phpcms/modules/member/index.php

找到logout方法,代码如下:

public function logout() {
        $setting = pc_base::load_config('system');
        //snda退出
        if($setting['snda_enable'] && param::get_cookie('_from')=='snda') {
            param::set_cookie('_from', '');
            $forward = isset($_GET['forward']) && trim($_GET['forward']) ? urlencode($_GET['forward']) : '';
            $logouturl = 'https://cas.sdo.com/cas/logout?url='.urlencode(APP_PATH.'index.php?m=member&c=index&a=logout&forward='.$forward);
            header('Location: '.$logouturl);
        } else {
            $synlogoutstr = '';    //同步退出js代码
            if(pc_base::load_config('system', 'phpsso')) {
                $this->_init_phpsso();
                $synlogoutstr = $this->client->ps_member_synlogout();           
            }
           
            param::set_cookie('auth', '');
            param::set_cookie('_userid', '');
            param::set_cookie('_username', '');
            param::set_cookie('_groupid', '');
            param::set_cookie('_nickname', '');
            param::set_cookie('cookietime', '');
            $forward = isset($_GET['forward']) && trim($_GET['forward']) ? $_GET['forward'] : 'index.php?m=member&c=index&a=login';
            showmessage(L('logout_success').$synlogoutstr, $forward);//退出成功0
        }
    }

问题解决:

注意最后一行的showmessage,里面第一个参数是

L('logout_success').$synlogoutstr

代表消息内容,查了一下

./languages/zh-cn/member.lang.php

中logout_success确实是退出成功四个字,但这后面拼了一个$synlogoutstr,经检验者确实是那个0,如果不想让他在退出成功的时候显示,把这个字符串去掉就可以了。

上面代码中显示的该字符串是同步退出js用的,所以应该是一个状态码,可能对开发者比较有用吧~mark一下就好

评论:(0)复制地址
发布:苗景云 | 分类:IT技术&设计 | Tags:PHPCMS

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。