建站技术网专注分享网站建设技术,网站建设教程,真正帮你学会做网站技术,轻松解决网站建设过程中遇到的常见问题,为广大站长服务。 收藏本站 | 订阅
域名投资,就来找米网,认准网址:www.zhaomi.cc 专业仿站,就到仿站网:www.fangzhan.org
  站内公告: ·帝国cms教程内容已更新,欢迎关注     ·建站技术网采用阿里云服务器,备案已通    
您当前的位置:首页 > cms教程 > Phpcms教程

phpcms v9整合QQ登陆功能实现

时间:2018-01-18 10:03:51  来源:网络收集  整理: 建站技术网 www.jzjsw.com     点击:5次
注意:必须修改v9_member里面的connectid为varchar(32).QQ返回的openid是32位的
一、打开caches\configs/system.php加入qq_appid,qq_appkey,qq_callback这三个参数是QQ登陆的参数,必须到腾讯网站上申请。
QQ上面的回调地址设置为 网站域名即可
地址:connect#opensns#qq#com
http://www.51jiehuo.net/baijiale/
二、在member/index.php里面加入
        public function public_qq_login(){
                $appid = pc_base::load_config('system', 'qq_appid');
                $appkey = pc_base::load_config('system', 'qq_appkey');
                $callback = pc_base::load_config('system', 'qq_callback');
                pc_base::load_app_class('qqapi','',0);
                $info = new qqapi($appid,$appkey,$callback);
                $this->_session_start();

                if(!isset($_GET['oauth_token'])){
                        $info->redirect_to_login();
                }else{
                        $info->get_openid();
                        if(!empty($_SESSION['openid'])){
                                $r = $this->db->get_one(array('connectid'=>$_SESSION['openid'],'from'=>'qq'));
                                if(!empty($r)){
                                        //登陆
                                        $password = $r['password'];
                                        $this->_init_phpsso();
                                        $synloginstr = $this->client->ps_member_synlogin($r['phpssouid']);
                                        $userid = $r['userid'];
                                        $groupid = $r['groupid'];
                                        $username = $r['username'];
                                        $nickname = empty($r['nickname']) ? $username : $r['nickname'];
                                        $this->db->update(array('lastip'=>ip(), 'lastdate'=>SYS_TIME, 'nickname'=>$me['name']), array('userid'=>$userid));

                                        if(!$cookietime) $get_cookietime = param::get_cookie('cookietime');
                                        $_cookietime = $cookietime ? intval($cookietime) : ($get_cookietime ? $get_cookietime : 0);
                                        $cookietime = $_cookietime ? TIME + $_cookietime : 0;

                                        $phpcms_auth_key = md5(pc_base::load_config('system', 'auth_key').$this->http_user_agent);
                                        $phpcms_auth = sys_auth($userid."\t".$password, 'ENCODE', $phpcms_auth_key);

                                        param::set_cookie('auth', $phpcms_auth, $cookietime);
                                        param::set_cookie('_userid', $userid, $cookietime);
                                        param::set_cookie('_username', $username, $cookietime);
                                        param::set_cookie('_groupid', $groupid, $cookietime);
                                        param::set_cookie('cookietime', $_cookietime, $cookietime);
                                        param::set_cookie('_nickname', $nickname, $cookietime);
                                        $forward = isset($_GET['forward']) && !empty($_GET['forward']) ? $_GET['forward'] : 'index.php?m=member&c=index';
                                        showmessage(L('login_success').$synloginstr, $forward);

                                }else{
                                        $user = $info->get_user_info();
                                        $_SESSION['connectid'] = $_SESSION['openid'];
                                        $_SESSION['from'] = 'qq';
                                        $connect_username = $user['nickname'];
                                        include template('member', 'connect');
                                }
                        }
                }
        }
文章标题:phpcms v9整合QQ登陆功能实现
文章网址:http://www.jzjsw.com/cmsJiaocheng/Phpcms/3620.html
上一篇:phpcms v9 增加热门关键字管理方法
下一篇:PhpCms系统设置:config.inc.php文件配置说明
来顶一下
返回首页
返回首页
相关文章
    无相关信息
推荐资讯
如何通过SEO优化排名赚钱?SEO赚钱方法
如何通过SEO优化排名赚
seo优化教程:网站seo内容优化
seo优化教程:网站seo
SEO细节:企业SEO如何快速为新站做出效果
SEO细节:企业SEO如何
电商技术将如何发展?2018年有这五个大胆预测
电商技术将如何发展?
最新文章
栏目更新
栏目热门