Discuz!解决UCenter中修改了用户名前台不同步更新的问题

2020年4月25日前端开发评论180,840字数 521阅读1分44秒阅读模式

如何修改discuz用户的用户名呢?
方法很简单,只需要在UCenter>>用户管理中,编辑修改掉用户名就可以了。

可最近我发现修改了用户名,但前台还是显示以前的用户名,刚开始我以为是缓存的原因,所以一直没关,结果很久都没能修改过来。
经过研究发现,主要还是discuz未能成功同步UCenter中的用户名导致的。

可以尝试用以下方式修改:
在网站文件目录uc_server/control/admin/user.php 找到:

$this->db->query("UPDATE ".UC_DBTABLEPRE."members SET $sqladd email='$email' WHERE uid='$uid'");

如下图所示↓
Discuz!解决UCenter中修改了用户名前台不同步更新的问题

在它后面添加如下代码:

//foolant:同时更改DX用户名
$this->db->query("UPDATE ".str_replace('ucenter','common',UC_DBTABLEPRE)."member SET $sqladd email='$email' WHERE uid='$uid'");

这样就成功实现同步了。
如果发现前台还没有及时更新,可以在UCenter中,把用户名重新改回原来的,然后再修改一次,就可以成功修改了。

匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定