100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 织梦DedeCMS手动整合discuz7.x+uchome2.0的方法

织梦DedeCMS手动整合discuz7.x+uchome2.0的方法

时间:2022-03-10 01:06:05

相关推荐

织梦DedeCMS手动整合discuz7.x+uchome2.0的方法

大伙好!现在很多站长朋友喜欢使用DedeCMS和discuz,但截至到今年5月,官方都没有提供很好的整合方案; 于是就自己手动对它们进行了整合,曾今在5月份发布了discuz7+DedeCMS5.3的整合程序,但最近有大部分使用本程序的站长朋友找过,原因是DedeCMS官方升级到5.5了,原程序不能正常使用了;看了一下,5.5版本的注册页面有个参数变了,把参数名改一下就OK了;但是考虑到程序再次升级的问题,有换了一种方式对其整合,还加上了uchome哦;这次方法是直接写入数据库的方式,不管官方再怎样升级,只要数据表名和字段名没有变,程序都可以依然正常使用哦

好了,不废话了,开始:

注册整合开始:

创建一文件zhuce.php,其作用定义DedeCMS,discuz,uchome的域名,和同步登陆和同步退出;

修改DedeCMS的注册页面member/reg_new.php和uchome的注册页面source/do_register.php

<form action="/register.php" name="zhuce"><input name="rf" value="">

<?="zhuce.submit();”?>

其中有个rf参数,作用是获取用户是从哪里注册的,等待注册成功跳转回去;

修改discuz注册页面模板templates/default/register.htm

个人企业

修改discuz的注册页面:register.php,加上以下代码:$depas=md5($_POST[password]);//DedeCMS采用md5方式对其密码加密

$db->query(“INSERT INTO $detable (mtype,userid,pwd,uname,email)

VALUES (‘$_POST[mtype]’,’$username’,’$depas’,’$_POST[nickname]’,’$email’)”);//写入DedeCMS的用户表

修改原代码$db->query(“REPLACE INTO {$tablepre}memberfields (uid, authstr $fieldadd1) VALUES (‘$uid’, ‘$authstr’ $fieldadd2)”);

为以下代码,其作用是同是添加昵称并把昵称也写在discuz的表里面;$db->query(“REPLACE INTO {$tablepre}memberfields (uid,nickname,authstr $fieldadd1) VALUES (‘$uid’,’$_POST[nickname]’,’$authstr’ $fieldadd2)”);

再加上以下代码,其作用是用于跳转,用从哪来注册的跳转回哪里去if($_POST[rf]){echo “注册成功!!location=\”http://$_POST[rf]\”;”;}

注册整合结束;开始头像调用整合:

修改DedeCMS用户调用文件 member/ajax_loginsta.php$mid = $cfg_ml->fields[‘mid’];//获取用户的id

$face = $ucurl.”/avatar.php?uid=”.$mid.”&size=small”;

修改DedeCMS首页模板 templets/default/index.htm

CheckLogin();

最近登陆的会员{dede:php}while($rs = $db->GetArray(user)){echo "".$rs[uname]."";}{/dede:php}

头像调用整合结束,开始整合同步登陆:如何实现请看下面zhuce.php解释;

修改DedeCMS的登陆页面 member/index_do.php 在提示登陆成功的代码后面加上:echo “.”

修改discuz的登陆页面 logging.php 在提示登陆成功的代码后面加上:echo “”

同步登陆整合结束,开始整合同步退出:如何实现请看下面zhuce.php解释;

修改DedeCMS的登陆页面 member/index_do.php 在提示成功退出的代码后面加上:echo “”

修改discuz的登陆页面 logging.php 在提示成功退出的代码后面加上:echo “”

同步退出整合完毕!!

zhuce.php解释:<?

$bbsurl=””;//填写NI的discuz的完整URL,前面加”http://”,后面不要加”/”

$ucurl=”/ucenter”;//填写NI的UCenter的完整URL,前面加”http://”,后面不要加”/”

$homeurl=””;//填写NI的UChome的完整URL,前面加”http://”,后面不要加”/”

if($_GET[s]==”in”){include(“member/config.php”);//判断是登陆

$cfg_ml = new MemberLogin(7*3600);

$rs = $cfg_ml->CheckUser($_GET[u], $_GET[p]);//写cookies

}

if($_GET[s]==”out”){include(“member/config.php”);//判断是退出

$cfg_ml->ExitCookie();//清cookies

}

?>

<?

$deurl=””;//填写NI的DedeCMS的完整URL,前面加”http://”,后面不要加”/”

$detable=”dede_”.”member”;//填写NI的DedeCMS表名前缀

if($_GET[s]==”in”){include(“include/common.inc.php”);//判断是登陆

$query0 = $db->query(“SELECT * FROM {$tablepre}members WHERE username=’$_GET[u]”);

while($user0 = $db->fetch_array($query0)) {$uid0=$user0[uid];$pwd0=$user0[password];}

dsetcookie(‘cookietime’, $cookietime, 31536000);//提取出用户信息

dsetcookie(‘auth’, authcode(“$pwd0\t$discuz_secques\t$uid0”, ‘ENCODE’), $cookietime, 1, true);//写cookies

}

if($_GET[s]==”out”){include(“include/common.inc.php”);//判断是退出

clearcookies();//清cookies

}

?>

登陆或退出的时候,同时做cookies操作

整合完毕!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。