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

DedeCMS手动整合discuz7.x+uchome2.0的方法,第1张

概述大家好!现在很多站长朋友喜欢使用dedecms和discuz,但截至到今年5月,官方都没有提供很好的整合方案; 于是我就自己手动对它们进行了整合,我曾今在5月份发布了discuz7+dedecms5.3的整合程序,但最近有大部分使用本程序的站长朋友找过我,原因是dedecms官方升级到5.5了,原程序不能正常使用了…

大家好!现在很多站长朋友喜欢使用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<?include("zhuce.PHP")?>

<div style="display:none">

<form action="<?=$bbsurl?>/register.PHP" name="zhuce">

<input name="rf" value="<?=$_SERVER['SERVER_name']?>"><form>

</div>

<?="<script>zhuce.submit();</script>"?>
其中有个rf参数,作用是获取用户是从哪里注册的,等待注册成功跳转回去;
修改discuz注册页面模板templates/default/register.htm<label><em>帐号类型:</em>

<input type="radio" name="mtype" value="个人" checked>个人

<input type="radio" name="mtype" value="企业">企业</label>

<label><em>{lang username}:</em><input type="text" ID="username" name="username" autocomplete="off" size="25" maxlength="15" value="" onBlur="checkusername()" tabindex="1" class="txt" /> *</label>

<label><em>昵称/公司:</em><input type="text" name="nickname" autocomplete="off" size="25" maxlength="15" tabindex="1" class="txt" /> *</label>

<label><em>登陆{lang password}:</em><input type="password" name="password" size="25" ID="password" onkeypress="detectcapslock(event,this)" tabindex="1" class="txt" /> *</label>

<label><em>{lang password_confirm}:</em><input type="password" name="password2" size="25" ID="password2" onkeypress="detectcapslock(event,this)" tabindex="1" value="" class="txt" /> *</label>

<label><em>{lang email}:</em><input type="text" name="email" autocomplete="off" size="25" ID="email" onBlur="checkemail()" tabindex="1" class="txt" /> *</label>
修改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' $fIEldadd2)");
再加上以下代码,其作用是用于跳转,用从哪来注册的跳转回哪里去if($_POST[rf]){echo "<b><Font color=red size=36>注册成功!!</Font></b><script>location="http://$_POST[rf]";</script>";}
注册整合结束;开始头像调用整合:
修改Dedecms用户调用文件 member/AJAX_loginsta.PHP$mID = $cfg_ml->fIElds['mID'];//获取用户的ID

$face = $ucurl."/avatar.PHP?uID=".$mID."&size=small";
修改Dedecms首页模板 templets/default/index.htm<!-- /userlogin -->

<script language="JavaScript" type="text/JavaScript">CheckLogin();</script>

<div class="latestlogin"> <strong>最近登陆的会员</strong>

<ul class="e7">

{dede:PHP}

while($rs = $db->GetArray('user')){

echo "<li><a href=""$homeurl."/".$rs[mID]."" target="_blank"><img src="".$ucurl."/avatar.PHP?uID=".$rs[mID]."&size=small"" alt='".$rs[uname]."的空间' wIDth="52" height="52" />".$rs[uname]."</a></li>";}

{/dede:PHP}

</ul>

</div>

<!-- /latestlogin -->
头像调用整合结束,开始整合同步登陆:如何实现请看下面zhuce.PHP解释;
修改Dedecms的登陆页面 member/index_do.PHP 在提示登陆成功的代码后面加上:echo "<iframe src=".$bbsurl."/zhuce.PHP?s=in&u=".$username."></iframe>."
修改discuz的登陆页面 logging.PHP 在提示登陆成功的代码后面加上:echo "<iframe src=".$deurl."/zhuce.PHP?s=in&u=".$username."&p=".$password."></iframe>"
同步登陆整合结束,开始整合同步退出:如何实现请看下面zhuce.PHP解释;
修改Dedecms的登陆页面 member/index_do.PHP 在提示成功退出的代码后面加上:echo "<iframe src=".$bbsurl."/zhuce.PHP?s=out></iframe>"
修改discuz的登陆页面 logging.PHP 在提示成功退出的代码后面加上:echo "<iframe src=".$deurl."/zhuce.PHP?s=out></iframe>"
同步退出整合完毕!!
zhuce.PHP解释:<?

$bbsurl="http://bbs.my.com";//填写您的discuz的完整URL,前面加“http://”,后面不要加“/”

$ucurl="http://www.my.com/ucenter";//填写您的UCenter的完整URL,前面加“http://”,后面不要加“/”

$homeurl="http://home.my.com";//填写您的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="http://www.my.com";//填写您的Dedecms的完整URL,前面加“http://”,后面不要加“/”

$detable="dede_"."member";//填写您的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 $discuz_secques $uID0",'ENCODE'),1,true);//写cookies

}

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

clearcookies();//清cookies

}

 

?>
登陆或退出的时候,同时做cookies *** 作
整合完毕!

总结

以上是内存溢出为你收集整理的DedeCMS手动整合discuz7.x+uchome2.0的方法全部内容,希望文章能够帮你解决DedeCMS手动整合discuz7.x+uchome2.0的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zz/998717.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存