这篇文章介绍了在phpcms新注册用户需要在discuz激活问题的解决方法,需要的朋友可以参考下
分析其主要原因是phpsso与ucenter通信成功后,XXX_ucenter_member表中的用户已经同步成功但是在XXX_common_member中并没有此用户,所以只要在xxx_common_member中插入此用户就可以了,所以修改discuz/api/uc.php下的synlogin函数就可以了,修改为
PHP Code复制内容到剪贴板functionsynlogin($get,$post){
global$_G;
if(!API_SYNLOGIN){
returnAPI_RETURN_FORBIDDEN;
}
header('P3P:CP="CURaADMaDEVaPSAoPSDoOURBUSUNIPURINTDEMSTAPRECOMNAVOTCNOIDSPCOR"');
$cookietime=31536000;
$uid=intval($get['uid']);
$query=DB::query("SELECTuid,username,passwordFROM".DB::table('common_member')."WHEREuid='$uid'");
if($member=DB::fetch($query))
{
dsetcookie('auth',authcode("$member[password]\t$member[uid]",'ENCODE'),$cookietime);
}else
{
$username=$get['username'];
$query=DB::query("SELECTuid,username,password,emailFROM".DB::table('ucenter_members')."WHEREusername='$username'");
$member=DB::fetch($query);
$password=$member['password'];
$email=$member['email'];
$ip=$_SERVER['REMOTE_ADDR'];
$time=time();
$userdata=array(
'uid'=>$uid,
'username'=>$username,
'password'=>$password,
'email'=>$email,
'adminid'=>0,
'groupid'=>10,
'regdate'=>$time,
'credits'=>0,
'timeoffset'=>9999
);
DB::insert('common_member',$userdata);
$status_data=array(
'uid'=>$uid,
'regip'=>$ip,
'lastip'=>$ip,
'lastvisit'=>$time,
'lastactivity'=>$time,
'lastpost'=>0,
'lastsendmail'=>0
);
DB::insert('common_member_status',$status_data);
DB::insert('common_member_profile',array('uid'=>$uid));
DB::insert('common_member_field_forum',array('uid'=>$uid));
DB::insert('common_member_field_home',array('uid'=>$uid));
DB::insert('common_member_count',array('uid'=>$uid));
DB::query('UPDATE'.DB::table('common_setting')."SETsvalue='$username'WHEREskey='lastmember'");
$query=DB::query("SELECTuid,username,passwordFROM".DB::table('common_member')."WHEREuid='$uid'");
if($member=DB::fetch($query))
{
dsetcookie('auth',authcode("$member[password]\t$member[uid]",'ENCODE'),$cookietime);
}
}
}
这样在phpcms中注册后去discuz中就可以不用激活就自动登录了
免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。