首页 > CMS > 织梦DEDE > 正文

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

2024-07-12 09:07:09
字体:
来源:转载
供稿:网友
这个我只是简单的做下修改 没有对程序文件进行较大的变动。 
 
首先讲解下原理:大家应该都知道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作为一个内容发布系统就可以了。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表