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("您已经注册,稍候自动进入激活页面!","激活页面网址",0,2000); 

exit(); 

//会员的默认金币 

 

上面代码中 2000 跳转等待时间。 激活网址换成自己的。 

 

这个是思路,由于是朋友问我这个问题,我做到这之后没继续弄下去了,让他自己去解决了,所以如果有人有这个需要的话,可以一起探讨!

 

之所以使用ucenter home 作为默认的注册入口,是个人比较喜欢uch会员系统,非常方便做二次开发,而且既然已经整合了dede,那么所有的会员娱乐 交互性的都可以让uch去承担,dede作为一个内容发布系统就可以了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/aeec615d20c174f41a996650b1b43054.html