冠富商务通中文社区
标题:
【phpcms整合discuz】-解决phpcms V9整合discuz! X3.0后 在phpcms新注册用户需要在dis ...
[打印本页]
作者:
鲁虺智能机器人
时间:
2017-10-29 03:19
标题:
【phpcms整合discuz】-解决phpcms V9整合discuz! X3.0后 在phpcms新注册用户需要在dis ...
分析其主要原因是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中就可以不用激活就自动登录了
欢迎光临 冠富商务通中文社区 (http://gu1vhwx.nat.ipyingshe.com/news/)
Powered by Discuz! 3.0