腾讯云网站解决方案帮您轻松应对建站成本高/网络不稳等常见问题

discuz调用函数实现同步登录与退出核心代码

0
回复
1493
查看
[复制链接]

765

主题

779

帖子

3万

积分

董事

Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72Rank: 72

积分
33029
发表于 19-4-4 16:40:51 | 显示全部楼层 |阅读模式      紫钻仅向指定用户开放  
                这个问题折磨了好久,今天特意抽出一些时间来看看discuz的源代码,将部分代码抽取出来,写成函数,这样以后登录与退出只要调用一下这两个函数就可以了。
6 p7 Y# N5 I# F/ Z: o7 @0 m0 Q" A  
; T3 N# r9 {  S5 f$ M代码如下:
8 ^2 |* L3 i/ c: P; w
  1. //退出Discuz账号 9 b) F' ]3 s1 T, Q4 p
  2. function discuz_logout(){ - C. P7 h2 g5 i) e. Y
  3. require './bbs/source/class/class_core.php'; //引入系统核心文件 6 [& g& m6 q. T1 k; [" X& x
  4. $discuz = & discuz_core::instance(); //以下代码为创建及初始化对象 + }. M# M3 D7 V. p
  5. $discuz->cachelist = $cachelist;   F, {! T& ^8 V- x& w9 M. \
  6. $discuz->init();
    * T6 }2 t# q( s8 [8 y/ M# r
  7. require libfile('function/member'); ' i$ D$ _: z9 d0 f% A/ j
  8. require libfile('class/member');
    ( t& @( N8 x+ m! d; p+ F
  9. $_GET['formhash'] = $_G['formhash'];
    $ a' A4 f4 o; A- e/ ^! [5 B
  10. $ctl_obj = new logging_ctl(); , g( u5 Y# Y! ?
  11. $ctl_obj->setting = $_G['setting'];
    ; r. O1 A% ^& F# v. {+ z
  12. $method = 'on_logout'; * f0 ^& \- N: z, `" ?' A  O* L
  13. //$ctl_obj->template = 'member/login'; ) L& Q; {; _3 y
  14. $ctl_obj->$method();
      O6 b, k+ E2 i2 a  N
  15. echo "成功退出!".time(); . M# d" |+ D: A6 Q1 k8 H
  16. } ; K- W+ |6 u" h5 o4 o3 H
  17. //登录Discuz账号
    6 Z. J! U2 k% r0 d9 N' d) c. U
  18. function discuz_login($username,$password){ * G: R8 Z- X6 @) u, C* y: s/ u
  19. require 'E:/ku25.com/wwwroot/bbs/source/class/class_core.php'; //引入系统核心文件 ; K0 c/ j) U3 g
  20. $discuz = & discuz_core::instance(); //以下代码为创建及初始化对象 - C% w& A) E( r3 \: j
  21. $discuz->cachelist = $cachelist;
    % L; C1 ]+ s. L# n3 o* E" h
  22. $discuz->init();
    3 P2 m/ g% o4 \' v3 ]* g) g
  23. require libfile('function/member'); ( Q1 V) s8 d: Y% P. S
  24. require libfile('class/member');   C" q3 ^, L. e$ E5 ?2 S
  25. $_GET['formhash'] = $_G['formhash'];
    / R6 M# f: C" S! H9 m8 F5 x; L* _# M2 b
  26. $_GET['from'] = 1;
    - B3 d2 b" C, B$ D
  27. $_GET['loginsubmit'] = $_GET['infloat'] = 'yes';
    $ |& B$ i$ r" T% u) c( `
  28. $_GET['cookietime'] = '2592000';
    ; N; s# M+ N, V4 u( H
  29. $_GET['username'] = $username; ; a! B4 s/ U) N8 E6 x6 A9 G2 {! T8 n  W
  30. $_GET['password'] = $password; 8 t+ A3 D$ _) u; X/ |2 F- Y8 a
  31. $ctl_obj = new logging_ctl(); 6 T3 w$ R; ]4 e# X9 }' q0 x: k
  32. $ctl_obj->setting = $_G['setting'];
    7 m9 h& Z; _8 m; m9 B
  33. $method = 'on_login'; . P% b- F) s0 G( ?! [1 L( N& o
  34. //$ctl_obj->template = 'member/login';
    . \! ]" h/ u0 `: h
  35. $ctl_obj->$method();
    : b3 w- Q; X. E6 |
  36. echo "成功登录!".time(); ! A* T2 U' D9 D5 |3 M, C. S3 h
  37. }
复制代码

) ]2 A& k4 j8 c. t7 `+ q  B
4 A# I, I) l/ i            
网站简介

球球发,是一家 Discuz! 商业插件、风格模板、网站源码、 Discuz!运营维护技术等于一体的交流分享网站,全站95%的资源都是免费下载,对于资源我们是每天更新,每个亲测资源最新最全---球球发(如果我们有侵犯了您权益的资源请联系我们删除