用了Discuz和Ucenter,在自己的程序注册并自动登录,却没有同步登录Discuz。

发布于 2022-09-02 20:30:00 字数 280 浏览 15 评论 0

用了Discuz和Ucenter,在自己的程序注册并自动登录,却没有同步登录Discuz。

我网站是自己开发的,论坛和用户中心用的是discuz和ucenter。
现在在网站上注册,注册完会自动登录网站,但是没有自动登录discuz。

在网站上登录也是,网站登录成功,discuz却没有同步登录。
但是手动在discuz登录一次后(相当于激活)
以后在网站上登录 就会自动登录discuz了。

为什么会这样?还是正常情况就是这样?
请用过ucenter的回答下。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

流云如水 2022-09-09 20:30:00
    static function jihuo($uid, $email,$username) {
        M(BBS_DB.'common_member','pre_')->add(array(
            'uid' => $uid,
            'email' => $email,
            'username' => $username,
            'groupid' => 10, //
            'regdate' => NOW_TIME,
            'timeoffset' => 9999, //
        ));
        M(BBS_DB.'common_member_count','pre_')->add(array(
            'uid' => $uid,
        ));
        M(BBS_DB.'common_member_field_forum','pre_')->add(array(
            'uid' => $uid,
            'customshow' => 26,
        ));
        M(BBS_DB.'common_member_field_home','pre_')->add(array(
            'uid' => $uid,
        ));
        M(BBS_DB.'common_member_profile','pre_')->add(array(
            'uid' => $uid,
        ));
        M(BBS_DB.'common_member_status','pre_')->add(array(
            'uid' => $uid,
            'regip' => get_client_ip(),
            'lastip' => get_client_ip(),
            'lastvisit' => NOW_TIME,
            'lastactivity' => NOW_TIME,
        ));
    }

回复一下 @agui1989
顺便结一下贴,我最后是直接自己操作 discuz 的数据库,在以上 6 个表,同时新增一条记录~
再顺便吐槽一下 discuz, 这数据库设计得……
注册个用户得操作这么多个表,而且还不包括 ucenter 的部分……

如果没有你 2022-09-09 20:30:00

测试版本:discuz! x3 理论也支持2.5
//打开discuz/api/uc.php
//synlogin方法(180行)处,往下找到
if(($member = getuserbyuid($uid, 1))) {

dsetcookie('auth', authcode("$member[password]\t$member[uid]", 'ENCODE'), $cookietime);  

}

//改为
if(($member = getuserbyuid($uid, 1))) {

dsetcookie('auth', authcode("$member[password]\t$member[uid]", 'ENCODE'), $cookietime);  

} else {

if(!function_exists('uc_get_user')) {  
    loaducenter();  
}  
$user = uc_get_user($uid, 1);  
if($user) {  
    $time = time();  
    DB::query("REPLACE INTO ".DB::table('common_member')." SET `uid`='{$user[0]}' , `username`='{$user[1]}' , `password`='".md5(random(10))."' , `email`='{$user[2]}' , `adminid`='0' , `groupid`='10' , `regdate`='{$time}' , `emailstatus`='0' , `credits`='0' , `timeoffset`='9999'");  
    DB::query("REPLACE INTO ".DB::table('common_member_status')." SET `uid`='{$user[0]}' , `regip`='{$_G['clientip']}' , `lastip`='{$_G['clientip']}' , `lastvisit`='{$time}' , `lastactivity`='' , `lastpost`='0' , `lastsendmail`='0'");  
    DB::query("REPLACE INTO ".DB::table('common_member_count')." SET `uid`='{$user[0]}' , `extcredits1`='0' , `extcredits2`='0' , `extcredits3`='0' , `extcredits4`='0' , `extcredits5`='0' , `extcredits6`='0' , `extcredits7`='0' , `extcredits8`='0'");  
    DB::query("REPLACE INTO ".DB::table('common_member_profile')." SET `uid`='{$user[0]}'");  
    DB::query("REPLACE INTO ".DB::table('common_member_field_forum')." SET `uid`='{$user[0]}'");  
    DB::query("REPLACE INTO ".DB::table('common_member_field_home')." SET `uid`='{$user[0]}'");  
    DB::query("UPDATE ".DB::table('common_stat')." SET `register`=`register`+1 WHERE `daytime` = '".date('Ymd', $time)."'");  
    if(($member = getuserbyuid($uid, 1))) {  
        dsetcookie('auth', authcode("$member[password]\t$member[uid]", 'ENCODE'), $cookietime);  
    }  
}  

}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文