DEDE整合uchome统一mid和uid加激活提示的方法


这个我只是简单的做下修改 没有对程序文件进行较大的变动。    首先讲解下原理:大家应该都知道dede会员的mid值是一个自增的字段,也就是每添加一行会员记录这个值自动加1。 那么我们也可以考虑不让它自增,而是在uch的会员登录dede激活的时候读取该会员的uid值,写入mid字段。 这样在会员第一次登录dede的时候写入对dede程序不会有什么影响。    目前我以,已经注册了uch(即有了uid值),把mid取uid值的方法做一下讲解(其他把uid取mid值 也是一样的原理)    做这个改进的前提条件:  关闭dede会员注册功能,只开启ucenter home的注册(这样可以防止会员id错乱)。    需要修改的文件如下:  \member\index_do.php 找到代码(位置大概是280——281行):  Copy code`mtype`=’个人’,`userid`=’$username’,`pwd`=’$password’,`uname`=’$username’,`sex`=’男’ ,`rank`=’10’,`money`=’$money’, `email`=’$email’, `scores`=’$scores’, `matt`=’0′, `face`=”,`safequestion`=’0′,`safeanswer`=”,    在最前面加一句`mid`=’$uid’, 结果如下面的代码:  Copy code`mid`=’$uid’,`mtype`=’个人’,`userid`=’$username’,`pwd`=’$password’,`uname`=’$username’,`sex`=’男’ ,`rank`=’10’,`money`=’$money’, `email`=’$email’, `scores`=’$scores’, `matt`=’0′, `face`=”,`safequestion`=’0′,`safeanswer`=”,    在这里修改后,uid的值会被写入到dede会员系统中所有的mid中,这样不会造成什么问题,本人已经做了一些测试,不过如果大家有什么疑问的话,还是可以跟帖一起讨论。这个方法不是最完善的 但确实最简单的。  注意:DEDE的ucenter模块,默认是把其他系统的会员注册成dede的个人会员,如果您要做成企业会员,可以再次开发一点,请接着看下面内容。    目前在别的系统中注册的会员,第一次访问dede是需要登录的,但登录没有任何提示,而且默认写入成个人会员。为此个人做的是,在dede登录,如果是ucenter中存在的会员而dede不存在,那么暂时不写入数据库,而是提示自动跳转到一个激活页面,这个页面在获取前一步的mid 用户名 密码 这3个值后,再加一个选项表单,个人 企业 2个选项,确定后根据选项把值写入不同的会员数据表里去。    激活提示的代码修改如下:  member\index_do.php 找到代码(位置大概是280——281行):  找到Copy code//当UC存在用户,而CMS不存在时,就注册一个  if(!$rs) {  //会员的默认金币  改成:Copy code//当UC存在用户,而CMS不存在时,就注册一个  if(!$rs) {  ShowMsg(“您已经注册,稍候自动进入激活页面!”,”http://激活页面网址”,0,2000);  exit();  //会员的默认金币    上面代码中 2000 跳转等待时间。 激活网址换成自己的。    这个是思路,由于是朋友问我这个问题,我做到这之后没继续弄下去了,让他自己去解决了,所以如果有人有这个需要的话,可以一起探讨!   之所以使用ucenter home 作为默认的注册入口,是个人比较喜欢uch会员系统,非常方便做二次开发,而且既然已经整合了dede,那么所有的会员娱乐 交互性的都可以让uch去承担,dede作为一个内容发布系统就可以了。