Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[发布] 外部调用discuz登陆和显示登陆信息,随便什么网页都可调用

[复制链接]
゛媬時捷§☆ 发表于 2014-1-1 16:11:25 | 显示全部楼层 |阅读模式
本帖最后由 ゛媬時捷§☆ 于 2014-1-2 10:25 编辑

我在帮公司做站的时候,也在一直纠结这个外部调用问题,因为我公司用的是dede+dz的组合,后来我在网上找到了一个解决方法,
第一部
在discuz下写个php文件
  1. <?php  
  2. require './source/class/class_core.php';  
  3. $discuz = & discuz_core::instance();  
  4. $discuz->init_cron = false;  
  5. $discuz->init_session = false;  
  6. $discuz->init();  
  7. //echo $_G['uid'];  
  8. echo $_G['username'];  
  9. ?>  
复制代码

放到discuz根目录 随便取个.PHP文件名。用来获取当前登录用户信息


然后在你的外部站想要调用的地方贴上这段代码
  1.    <div class="r" id="denglu" style="display:none;">  
  2.     尊敬的 <a href="/bbs"></a> 您好!  
  3.     </div>  
  4. <div class="r" id="weidenglu" style="display:none;">请<a href="/bbs/connect.php?mod=login&op=init&referer=forum.php&statfrom=login_simple" id="index_login">QQ登录</a>或<a href="/bbs/member.php?mod=register" target="_blank" id="index-reg">注册</a></div>  
  5. <script>  
  6. $(document).ready(function(){  
  7. $('#denglu a').load("/bbs/userinfo.php",function(data){ var cq=data;  
  8. if(cq){  
  9. $('#weidenglu').remove();  
  10. $('#denglu').show();  
  11. }  
  12. else{  
  13. $('#denglu').remove();  
  14. $('#weidenglu').show();  
  15. }  
  16. });  
  17. });  
  18. </script>  
复制代码

但是,我调用后出现一个结果,不管登陆或者不登陆,都是显示尊敬的**你好!,若登陆后应该是显示登陆信息,我们的主要目的就是没有登陆的时候显示登陆与注册,登陆后显示尊敬的**你好!
那么我在里面琢磨了下,原来是if语句的问题,因为在没有登陆的状态下,显示的是尊敬的  你好!所以只要把f(cq)改为f(cq.length>=3),意思是长度大于等于3就显示尊敬的**你好!,否则显示登陆或注册。


下面把正确代码贴出来。
  1. <div class="r" id="denglu" style="display:none;">
  2. 尊敬的 <a href="/bbs"></a> 您好!
  3. </div>
  4. <div class="r" id="weidenglu" style="display:none;">请<a href="/bbs/connect.php?mod=login&op=init&referer=forum.php&statfrom=login_simple" id="index_login">QQ登录</a>或<a href="/bbs/member.php?mod=register" target="_blank" id="index-reg">注册</a></div>
  5. <script>
  6. $(document).ready(function(){
  7. $('#denglu a').load("/bbs/userinfo.php",function(data){ var cq=data;
  8. if(cq.length>=3){
  9. $('#weidenglu').remove();
  10. $('#denglu').show();
  11. }
  12. else{
  13. $('#denglu').remove();
  14. $('#weidenglu').show();
  15. }
  16. });
  17. });
  18. </script>
复制代码

记住要改你论坛的路径啊,别忘记了,还有QQ登陆可以改成你的登陆网址,不一定要QQ登陆!!


可以站外随便什么网页都可以调用哦!!!!包括静态网页!!!!!!

感觉可以就多多动动你们的小手回复回复啊!楼主不喜欢伸手党哦!!!

忘记一件事情,不好意思啊,到现在才想起来!这个很重要,要调用下这个js文件,不然会调用不出来!!!!还有,检查下你的网站其他JS文件,是否有冲突!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
 楼主| ゛媬時捷§☆ 发表于 2014-1-1 16:19:29 | 显示全部楼层
没人回复吗??
回复

使用道具 举报

香烤土豆 发表于 2014-1-1 17:58:26 | 显示全部楼层
收藏。。 找很久的样子了!
回复

使用道具 举报

 楼主| ゛媬時捷§☆ 发表于 2014-1-1 20:13:11 | 显示全部楼层
{:soso__10558244656416098388_3:}
回复

使用道具 举报

流向 发表于 2014-1-1 23:54:51 | 显示全部楼层
这个很实用~~~
回复

使用道具 举报

流向 发表于 2014-1-1 23:55:13 | 显示全部楼层
就是要注意安全性,防止外人调用。
回复

使用道具 举报

dinglulu 发表于 2014-1-2 00:08:33 | 显示全部楼层

收藏。。 找很久的样子了!
回复

使用道具 举报

 楼主| ゛媬時捷§☆ 发表于 2014-1-2 10:24:34 | 显示全部楼层
大家不好意思啊!必须文件里面调用下这个,不然调用不出来
回复

使用道具 举报

 楼主| ゛媬時捷§☆ 发表于 2014-1-2 10:26:20 | 显示全部楼层
dinglulu 发表于 2014-1-2 00:08
收藏。。 找很久的样子了!

大家不好意思啊!必须文件里面调用下这个,不然调用不出来,我已经补上去了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-17 17:23 , Processed in 0.029316 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表