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

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

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

691

主题

705

帖子

3万

积分

董事

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

积分
31859
     紫钻仅向指定用户开放  
发表于 19-4-4 16:40:51 | 显示全部楼层 |阅读模式
                这个问题折磨了好久,今天特意抽出一些时间来看看discuz的源代码,将部分代码抽取出来,写成函数,这样以后登录与退出只要调用一下这两个函数就可以了。
7 u" m, G8 _( j0 O+ `  
, u+ Q# U8 ~  V代码如下:1 [  T8 V% p) |9 A% x2 U
  1. //退出Discuz账号 . R. M8 I) p# u, e" p
  2. function discuz_logout(){
    ' g  [4 a& u& _. `) L% T4 H% Q
  3. require './bbs/source/class/class_core.php'; //引入系统核心文件 5 s4 e8 d" U- C; z# [6 _3 X2 g) @
  4. $discuz = & discuz_core::instance(); //以下代码为创建及初始化对象
    ; B. o' U6 C+ v  i
  5. $discuz->cachelist = $cachelist;
    ; z+ B! v/ O& o  m7 g, ?4 F" g
  6. $discuz->init();
    & J, v  f: U/ \6 [+ j2 C, F
  7. require libfile('function/member');
    ' P6 S) e9 a, j/ C, g
  8. require libfile('class/member');
    6 \5 O+ }+ s- ~+ X; L; ?% J
  9. $_GET['formhash'] = $_G['formhash']; # u" B/ h( X4 y7 W
  10. $ctl_obj = new logging_ctl();   }. C# [4 P, o3 J! R
  11. $ctl_obj->setting = $_G['setting'];
    " L) S5 C3 [  _9 ]
  12. $method = 'on_logout'; 4 x, N( r4 A+ a' [" o
  13. //$ctl_obj->template = 'member/login';
    6 g& R3 g! [; v
  14. $ctl_obj->$method(); / D' s/ T2 r( h* o
  15. echo "成功退出!".time();
    2 w- E) K2 x' F: @
  16. } ' e+ b1 n! {  s6 ^, Z! H; g
  17. //登录Discuz账号
    & |; C% q+ D* g2 F  T% E
  18. function discuz_login($username,$password){ 5 Z( C* k) |, u' U+ Q, n- X7 z, m
  19. require 'E:/ku25.com/wwwroot/bbs/source/class/class_core.php'; //引入系统核心文件
    # a& b: `9 o$ D) E) ~  e
  20. $discuz = & discuz_core::instance(); //以下代码为创建及初始化对象 / I$ q( D+ C: o. B5 ^) j' t2 s
  21. $discuz->cachelist = $cachelist;
    9 x% y, a- |' p) C5 h, ~( D* ^5 Q
  22. $discuz->init();
    - u' z6 m- O  c4 ~# p# h5 c
  23. require libfile('function/member');
    : }9 I' [" i3 N* U- e
  24. require libfile('class/member'); : e8 s0 H( ]) l0 P: }2 ^  Z
  25. $_GET['formhash'] = $_G['formhash'];
    ) Y& v. G! p# V" _, N3 J
  26. $_GET['from'] = 1;
      |3 t, B4 G& P7 n8 x) ]
  27. $_GET['loginsubmit'] = $_GET['infloat'] = 'yes';
    ' X) m% {8 s! `, L: e/ j
  28. $_GET['cookietime'] = '2592000';
      e( m: N2 x2 a' `' U, q0 a
  29. $_GET['username'] = $username;
    6 ]; s3 b1 m2 m
  30. $_GET['password'] = $password;
    1 I8 O. G$ O9 t: ?% J5 I4 ]; T; p
  31. $ctl_obj = new logging_ctl(); ( j& A2 w% y0 w' r
  32. $ctl_obj->setting = $_G['setting'];   L# g1 p4 ~: u- w6 T- N9 h  c" x6 |) {
  33. $method = 'on_login'; # [, y" p2 {/ @" L2 v( S- o* Q: f9 f
  34. //$ctl_obj->template = 'member/login';
    6 Y, s% U% X9 O* v; I
  35. $ctl_obj->$method();
    & @  T5 g$ r+ H# g
  36. echo "成功登录!".time();
    - D! D" n. d' w; B: P, N% X6 ]
  37. }
复制代码
6 [5 Y3 X2 H1 T2 w7 q0 C
0 G. P" L( m2 r  M) |0 n3 r
            

qiuqiufa.com

网站简介

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