茄子,非常感谢你的回复,但是今天我在DISCUZ的安装区发帖并等了一整天还是没有人回复;
https://discuz.dismall.com/thread-964913-1-1.html
在ucenter中注册用户id错乱问题需要重新升级问题论坛
***----------***
我今天晚上做了一下系统测试并发现了根本问题;
官方论坛上也有相关的问题出现:
相关的url地址:
https://discuz.dismall.com/viewth ... %2Bentry&page=1
6.1注册的时候出现Duplicate entry错误
下砂给的回复是“删除下cdb_memberfieleds中多余的uid”
-------------------------------------
我的还没有严重要注册出错的地步,所以他们出现的问题和我的不太一样;
我的问题是在discuz的论坛中增加了很多本来不应该有的帐号,呵呵;
而这些帐号在升级到6.1UC版本之后如果在论坛中继续注册帐号,就会将多出来的帐号根据UCenter中的最大值来更新掉(ucenter中的帐
号id<discuz论坛uid的情况);
***-----------***
测试1-在论坛上注册新的用户,显示下一个ID的数值变化:
最大值:
5655 uc_memberfields
7061 cdb_members
注册前下一个注册用户信息:
5656 NULL uc_memberfields
5656 亲爱的宝贝 cdb_members
注册后:
5656 test002 uc_memberfields
5656 test002 cdb_members
这时使用都是正常的;是不是我把论坛中Uid>MAX(uc_memberfields)的用户都删除就好了?
****----------***
测试2-在UCH中注册新的用户,显示下一个ID的数值变化:
最大值:
5657 huanyintexi uc_memberfields
7061 hackbaby cdb_members
注册前下一个注册用户信息:
5658 NULL uc_memberfields
5658 泪水de舞步 cdb_members
注册后:
5658 test003 uc_memberfields
5658 泪水de舞步 cdb_members
这时,用test003在uch中登陆,不能漫游到论坛;
这时,用test003在论坛登陆,显示的用户名是泪水de舞步;
这时,论坛中没有test003这个帐号,也就是说在UCH中注册的帐号可以控制和修改论坛中对应ID的帐号数据,反之不行;
由于不知道“泪水de舞步”的密码,无法确定这时“泪水de舞步”能不能登陆(理论上是可以的,但是无法拥有uch上的空间,也无法在
UCH中登陆);
--------------------------------------------------
至于他们为什么会在注册的时候出错,和我有过同样做法的一个站长,他是直接不能正常注册(呵呵,我偷偷高兴一下,我的在论坛去注
册还是能正常使用的);
可能是因为这样的缘故:
ucenter中的uid最大值<论坛uid的最大值
uc_memberfields中的UID最大值=uc_members中的UID最大值
cdb_memberfields中的UID最大值=cdb_members中的UID最大值
刚刚和朋友确认发现,他的注册出错的站点的情况和我的一样:
ucenter中的uid最大值<论坛uid的最大值
各个表的最大值如下:
cdb_memberfields 14678
cdb_members 14678 bbs_admin
程序增加的效果:
14677(自南向东);14676(水滴石穿基金);14675(白锔戒);14674(两朵乌云);14673(wawyy);
在论坛手动注册的效果:
12267(天人合一);12266(testkj);12265(SAFDS);12264(asdsa);12263(testmub);12259(linuxer)
uc_memberfields 12270
uc_members 12270 bbs_admin
程序增加的效果:
12269(自南向东);12268(水滴石穿基金);
在论坛手动注册,uc_members并不会像我的站点那样,能从ucenter中同步uid对应的信息到论坛中,所以注册的时候出错:
12267(sdfgdsfg);12266(玻璃留蓝);12265(一直逝水无痕);12264(大爱无边);12263(LORRAINE);12259(ljwyqlyl01)
这个是注册12259(linuxer)时候的出错信息;
Discuz! info: MySQL Query Error
Time: 2008-6-19 8:53pm
Script: /bbs/register.php
SQL: INSERT INTO [Table]members (uid, username, password, secques, gender, adminid, groupid, regip, regdate, lastvisit,
lastactivity, posts, credits, extcredits1, extcredits2, extcredits3, extcredits4, extcredits5, extcredits6, extcredits7,
extcredits8, email, bday, sigstatus, tpp, ppp, styleid, dateformat, timeformat, pmsound, showemail, newsletter,
invisible, timeoffset)
VALUES ('12259', 'linuxer', 'd8aef43e8346dfb2811a649e35c3385b', '', '0', '0', '10', '117.25.164.2', '1213879987',
'1213879987', '1213879987', '0', 210,100,0,100,0,10,0,0,0, 'linuxer@asdf.org', '0000-00-00', '0', '0', '0', '', '0',
'0', '1', '1', '1', '0', '9999')
Error: Duplicate entry '12259' for key 1
Errno.: 1062
到 http://faq.comsenz.com 搜索此错误的解决方案
×××------------------×××
我想,我的问题,只要把cdb(论坛)中多出来的id删除就不会出问题了。是这样吗?
但是我朋友和还有和我朋友有着同样问题的人,他们的问题还没有得到解决呢。。。
期待茄子的回答;;;
祝大家好梦!
[ 本帖最后由 solotraveler 于 2008-6-19 23:20 编辑 ] |