冠富商务通中文社区

 找回密码
 立即注册
查看: 13|回复: 0
打印 上一主题 下一主题
收起左侧

[建站经验] 【phpcms整合discuz】-解决phpcms V9整合discuz! X3.0后 在phpcms新注册用户需要在dis ...

[复制链接]
跳转到指定楼层
楼主
发表于 2017-10-29 03:19:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
分析其主要原因是phpsso与ucenter通信成功后,XXX_ucenter_member表中的用户已经同步成功但是在XXX_common_member中并没有此用户,所以只要在xxx_common_member中插入此用户就可以了,所以修改discuz/api/uc.php下的synlogin函数就可以了,修改为
PHP Code复制内容到剪贴板
        <li class="alt">functionsynlogin($get,$post){     global$_G;     <li class="alt">    if(!API_SYNLOGIN){     <li class="alt">returnAPI_RETURN_FORBIDDEN;     }     <li class="alt">    header('P3P:CP=CURaADMaDEVaPSAoPSDoOURBUSUNIPURINTDEMSTAPRECOMNAVOTCNOIDSPCOR');     <li class="alt">    $cookietime=31536000;     <li class="alt">$uid=intval($get['uid']);     $query=DB::query(SELECTuid,username,passwordFROM.DB::table('common_member').WHEREuid='$uid');     <li class="alt">if($member=DB::fetch($query))     {     <li class="alt">dsetcookie('auth',authcode($member[password]\t$member[uid],'ENCODE'),$cookietime);     }else    <li class="alt">{     $username=$get['username'];     <li class="alt">$query=DB::query(SELECTuid,username,password,emailFROM.DB::table('ucenter_members').WHEREusername='$username');     $member=DB::fetch($query);     <li class="alt">$password=$member['password'];     $email=$member['email'];     <li class="alt">$ip=$_SERVER['REMOTE_ADDR'];     $time=time();     <li class="alt">$userdata=array(     'uid'=$uid,     <li class="alt">'username'=$username,     'password'=$password,     <li class="alt">'email'=$email,     'adminid'=0,     <li class="alt">'groupid'=10,     'regdate'=$time,     <li class="alt">'credits'=0,     'timeoffset'=9999     <li class="alt">);     DB::insert('common_member',$userdata);     <li class="alt">    $status_data=array(     <li class="alt">'uid'=$uid,     'regip'=$ip,     <li class="alt">'lastip'=$ip,     'lastvisit'=$time,     <li class="alt">'lastactivity'=$time,     'lastpost'=0,     <li class="alt">'lastsendmail'=0     );     <li class="alt">DB::insert('common_member_status',$status_data);     DB::insert('common_member_profile',array('uid'=$uid));     <li class="alt">DB::insert('common_member_field_forum',array('uid'=$uid));     DB::insert('common_member_field_home',array('uid'=$uid));     <li class="alt">DB::insert('common_member_count',array('uid'=$uid));     DB::query('UPDATE'.DB::table('common_setting').SETsvalue='$username'WHEREskey='lastmember');     <li class="alt">$query=DB::query(SELECTuid,username,passwordFROM.DB::table('common_member').WHEREuid='$uid');     if($member=DB::fetch($query))     <li class="alt">{     dsetcookie('auth',authcode($member[password]\t$member[uid],'ENCODE'),$cookietime);     <li class="alt">}     }     <li class="alt">}

这样在phpcms中注册后去discuz中就可以不用激活就自动登录了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|关于我们|申请友链|Archiver|手机版|拘留所|冠富商务通

GMT+8, 2026-3-28 23:08 , Processed in 0.067004 second(s), 17 queries , Wincache On.

Powered by HCMS Version 2.0

© 2008-05-14 guanfu.net.cn

快速回复 返回顶部 返回列表