Русское сообщество Chinascript.ru по поддержке и русской локализации Discuz!, ECShop, ECMall, UCenter

 Забыли пароль?
 Регистрация
Поиск
Популярное: Discuz ECMall ECShop
Просм.: 4017|Ответить: 0

Авторизация

[Скопировать ссылку]
Опубликовано 03-06-2015 19:43:06 | Показать все сообщения |Режим чтения
Наши разработки
сообщение изменено rams в 03-06-2015 19:45
При авторизации на сайте логином пользователя user. Может ли кто подсказать как сделать авторизацию по email4 F# s# G& _- g/ J7 w% Y2 ^
  1. <?php
    6 v  ~# C  z- u) I( u
  2. session_start();& }" `5 k3 \7 J- D% \
  3. if(!empty($_GET["action"]))% a( K+ |: O0 v+ b
  4.     $post=$_GET;+ ^3 ^) m+ W2 h, z4 D& P
  5. else. z) m! P  }" p2 y3 c
  6.     $post=$_POST;2 D$ L6 ?7 B4 {- _) ]" [7 X% D' X
  7. if(!empty($post["action"])&&$post["action"]=="submit")
    : Y" C! g! i: k
  8. {
    ! ?( Y  Y& G6 c
  9.     if(strtolower($_SESSION["auth"])!=strtolower($post["randcode"]))) K8 Y* Y0 C; @7 c( W
  10.     {
    * F0 q. w) a* m- W
  11.         header("Location: login.php?erry=-3");//ÑéÖ¤Âë´íÎó
    ) ?! r2 f8 j/ g
  12.         exit();
    5 c% I+ m6 y& J- K
  13.     }- |0 Y6 K2 O+ w. i' d- i
  14.     include_once("includes/global.php");$ z, C8 q: x0 y- {6 Y
  15.     include_once("includes/smarty_config.php");
    8 r. I; r+ h* y  Y
  16.     include_once("config/reg_config.php");
    / L/ e! [' e. p- C' A# O8 S5 q
  17.     $config = array_merge($config,$reg_config);8 Z4 o" J" @1 Z
  18.     if($config['openbbs']==2)$ t: E# ]" G. K/ S7 y% t
  19.     {    //ucenter1.5 login
    + ]2 g% s6 _: o
  20.         $sql="select userid,user,password,email from ".ALLUSER." a where user='$post[user]'";
    6 T! @; x0 C0 B( H' n8 p
  21.         $db->query($sql);% }& r8 Z/ {; N7 J( _) x
  22.         $re=$db->fetchRow();//bbÓû§ÊÇ·ñ´æÔÚ. ]9 U8 h) N- \3 _
  23.         if(!empty($re['password']))
    5 T$ Y9 V/ N- C+ m. J% U" G# {
  24.         {
    + W) p) b- [  E- \
  25.             if(substr($re['password'],0,4)=='lock')
    # N$ z  W% h# V2 A
  26.                 msg('login.php?erry=-4');//֮ǰʹÓÃÁËÕÒ»ØÃÜÂ빦ÄÜ£¬ÕË»§±»Ëø¶¨, m0 x! q; x$ ?* q+ z. r
  27.             if($re['password']!=md5($post['password']))
    5 _5 y; o* U  f: c" E
  28.                 msg('login.php?erry=-2');//ÃÜÂë´íÎó& ~, {' u! w5 C3 o$ t. W% e7 v5 k; N
  29.         }: }5 O! p# \/ _( `
  30.         include_once('uc_client/client.php');; ]4 j7 v  `% F, s7 s$ Q
  31.         list($uid, $username, $password, $email) = uc_user_login($post['user'], $post['password']);//ucÊÇ·ñ´æÔÚ2 r7 v& V& H( [/ {
  32.       
    : d8 A! m) W$ b! A+ \6 P
  33.         if($uid>0||$re["userid"])* g0 A: X; T  ~/ o" Y) _
  34.         {    //Èç¹ûuc»òÕßBBÖ®ÖÐÓÐÒ»¸öÕË»§ÊÇÕýÈ·µÄÖ´ÐÐÈçϲÙ×÷! s( I1 }- w5 [  ?( o
  35.       
    6 L: k* G) r0 ]% B/ h# P  P1 M; K, [
  36.             if($uid<=0&&$re["userid"]>0)//UC²»´æÔڣ£´æÔÚ# |3 x: f/ h' ]# D% `' e
  37.             {, r( |+ E3 K: y' u; B: A6 O
  38.                 $uid = uc_user_register($re['user'], $post['password'], $re['email']);
    9 ^( ]9 X) E7 {+ O; A! D5 K
  39.                 if($re['pid'])2 J. T3 J: x1 n; @3 E: k6 D0 a. u
  40.                     login($re['pid'],$re['user'],$re['userid']);//×ÓÕ˺ŵǼ) z+ q- u, D$ a7 {$ v
  41.                 else) X5 W$ x4 k) K) a
  42.                     login($re['userid'],$re['user']);//Ö÷Õ˺ŵǼ
    # t  b- J; x, |9 @+ L
  43.             }+ \$ ^4 b! q7 S
  44.             elseif($uid>0&&$re["userid"]<=0)//UC´æÔÚBB²»´æÔÚ9 X1 N1 [9 ^+ f9 V
  45.             {
    2 C) A0 ?( g5 o6 x/ z  ^, ]
  46.                 $dbc=new dba($config['dbhost'],$config['dbuser'],$config['dbpass'],$config['dbname']);8 D: Y/ `1 p0 _  p* O- [
  47.                
    2 T+ y! B' ]1 o7 x1 T
  48.                 $ip=getip();$ i( ]1 B/ |5 V# K2 ]# n3 q
  49.                 $dbc->query("insert into ".ALLUSER." (user,email,password,ip) values3 L6 z3 N2 _3 {+ _- @
  50.                 ('$post[user]','$email','".md5($post['password'])."','$ip')");2 e1 {! s2 j9 c6 g5 n+ B
  51.                 $re['userid']=$dbc->lastid();- S1 O* B! Y6 _+ W/ ^
  52.                 $re['user']=$_POST['user'];" Y0 ^) e" F4 z5 s% s! h/ }% a, O
  53.                
    8 e  o( {+ [) S0 \7 ?7 f/ N
  54.                 if(empty($config['user_reg']))
    5 a% y; |2 \7 I* B
  55.                     $user_reg=1;( m" _: o' \" ~- p4 i
  56.                 elseif($config['user_reg']==3)
    ( Z" x. {1 q) `0 w7 I! B1 S5 A
  57.                     $user_reg=1;
    " @6 q! ~3 N( ?  M+ O  \
  58.                 else) C( ]: S4 F" Q$ u( G# ]
  59.                     $user_reg=$config['user_reg'];
    . T/ B) B2 v0 q: x8 N1 {6 S
  60.                    6 q0 C- C7 o/ ?2 r9 n! ~. {) f' }
  61.                 $sql="INSERT INTO ".USER."
    ; a( x1 E; M3 N  [' \  k. {  P
  62.                 (userid,regtime,template,country,ifpay) VALUES0 I  w) m& j" W. _* [6 B" u
  63.                 ('$re[userid]','".date("Y-m-d H:i:s")."','".$config['default_user_tem']."','$country','$user_reg')";6 Y3 O3 \* e, N* |
  64.                 $db->query($sql);  K1 O. F9 a$ |/ Q$ _
  65.                 login($re['userid'],$re['user']);//ÍøÕ¾µÇ¼
    1 h2 k. D7 d  ^3 H& X& Z2 a
  66.             }
    3 v3 p$ z/ p$ A. n) D
  67.             else2 l; M  g$ J0 H. a, ~/ y2 {$ S& y/ Q
  68.             {! k. ^7 o/ J+ u; A% j
  69.                 if($re['pid'])" [9 e; \% t7 V
  70.                     login($re['pid'],$re['user'],$re['userid']);//×ÓÕ˺ŵǼ
    3 i, p, Z* @$ S$ D4 Y9 p
  71.                 else2 R6 q9 ^1 f  y1 R: @* J/ i2 O$ r
  72.                     login($re['userid'],$re['user']);//Ö÷Õ˺ŵǼ
    $ G* y( V* n1 U! Q
  73.             }
      K; F0 N3 }4 k8 ~
  74.             echo uc_user_synlogin($uid);//£Õ£Ãͬ²½µÇ¼
    1 W, ]0 d& A& }$ C3 f) I7 z
  75.             $forward = $post['forward']?$post['forward']:$config["weburl"]."/main.php";
    4 F: E; @8 }( E4 @* K1 {
  76.             msg($forward);/ _: H3 M1 @! M: t" o2 v. u) _
  77.         }' E( _; U8 c, ]& }2 z
  78.         else( I8 w5 U9 w7 M* l( V
  79.         {
    8 X$ ~1 y, t( W; w8 t
  80.             header("Location: login.php?erry=-1");//Óû§²»´æÔÚ
    5 J/ p) D5 D/ N% x2 |- f, S
  81.             exit();- a! d. e# L9 Q% ]& B% m
  82.         }* Q5 h( ~) r) r0 p  G! s
  83.     }
    % C9 H, b8 k- Q5 [! B* s0 ?! Y' y
  84.     else
    6 P: {) l2 }' n/ u$ `4 v
  85.     {   . e9 F( M: F1 n  p- {0 F
  86.         // no ucenter login7 |2 O. S6 a- y$ W+ }6 d0 I
  87.         $sql="select * from ".ALLUSER." where user='$post[user]'";1 Y7 U& E" ^1 e% U+ I* Z; j% @
  88.         $db->query($sql);! _, m" V* X) M
  89.         $re=$db->fetchRow();
    7 d$ E' n6 y' x1 a3 B8 S( c- P& _
  90.         if($re["userid"])
    ; R0 |; I! w: Y- r4 ~+ Y- ~
  91.         {! r* F/ Z  C. ?" _  a  }0 \! |
  92.             if(substr($re['password'],0,4)=='lock')6 o7 ]$ p# h0 }7 v$ }7 A6 c% \
  93.                 msg('login.php?erry=-4');//֮ǰʹÓÃÁËÕÒ»ØÃÜÂ빦ÄÜ£¬ÕË»§±»Ëø¶¨
    - ]# Y; t3 a  ?  a
  94.             if($re['password']!=md5($post['password']))& x7 {$ G/ j8 B3 D
  95.                 msg('login.php?erry=-2');//ÃÜÂë´íÎó
    , x0 i2 i2 Z2 W8 L, v  L6 ^
  96.            + G% g5 D+ E/ r- m+ s$ P
  97.             if($re["password"]==md5($post['password']))
    2 y- u6 M% r4 |% o1 C/ y
  98.             {( l0 P8 o" T# M- o$ A5 T9 j5 b
  99.                 if($re['pid'])
    $ k, Y  ~; x3 v4 t" v
  100.                     login($re['pid'],$re['user'],$re['userid']);//×ÓÕ˺ŵǼ& T5 g7 S0 I) U, |
  101.                 else
    5 N3 d' ?& F! |& ?7 X7 n
  102.                     login($re['userid'],$re['user']);: U# y" F" a/ F) D& o2 y4 v4 k
  103.                   
    + M" w# r' z% y* x9 S# d
  104.                 $forward = $post['forward']?$post['forward']:$config["weburl"]."/main.php";, m! D% L$ t$ b; o7 r
  105.                 msg($forward);
    8 C" Y- c% {7 z& n1 v& T9 I5 C" C
  106.             }4 R& t8 ^& _6 B0 G
  107.         }# J8 R; V9 i0 ~
  108.         else
    - A0 F7 ^! X0 r
  109.             msg('login.php?erry=-1');//Óû§²»´æÔÚ; @7 E/ K4 L$ ^. U6 S! p
  110.     }6 e: q' j7 |% t, D8 ~! O
  111. }
    ) g" P8 \  ]/ s9 Y% I
  112. //========================================================! j, C- _) I% Y5 l; N8 V& l, a* q! |! x
  113. function login($uid,$username,$pid=NULL)
    " L  v1 _8 N+ ~5 C# t" e0 R( C
  114. {
    + a3 i& q; R- [* P% l

  115. 9 s' ^" @1 ?3 w$ g
  116.     global $post,$config;+ u: @" e8 V* ]8 ?
  117.     $db=new dba($config['dbhost'],$config['dbuser'],$config['dbpass'],$config['dbname']);: n' K2 }4 q7 `1 h/ X$ |. w) a: {
  118.    
    & x7 }6 k0 s% H  B; v9 Y/ h
  119.     $sql="select a.lastLoginTime,b.regtime,b.ifpay from ".ALLUSER." a left join ".USER." b on a.userid=b.userid where a.user='$post[user]'";
    ' Q9 P" }3 z: x
  120.     $db->query($sql);
    " g; c) }7 U7 a; i; h- l( C1 g
  121.     $re=$db->fetchRow();% m- W* T3 \4 E1 J; p/ {. ~: l) }
  122.     if(is_dir("$config[webroot]/t/"))
    5 M2 k1 u- ?, H, n" T: j
  123.     {
    0 t1 f/ ~7 k0 }. ^
  124.         //=====΢²©°ó¶¨µÇ¼=====' `5 D8 F( X0 _3 [; [& S+ q
  125.         if($re)
    . a) |; T+ c& q9 [" V1 X  j
  126.         {. E' R& p0 [2 T+ Z
  127.             include_once 't/application/adapter/account/xauthCookie_account.adp.php';
    " I' }3 r* w  q, c
  128.             $xwbAccount = new xauthCookie_account();
    ) [$ A, W) x4 ?
  129.             $xwbAccount->_setLocalToken(null);# ?& Y2 i4 h! A$ n1 f; w
  130.             $xwbAccount->_setLocalToken( array('uid'=>$uid,'uname'=>$username));. M+ b' \, t: n9 _  h2 C3 t
  131.         }% V) ]& X- x, n, j5 Z/ Y
  132.         //=====================3 Z# _. }0 V4 a7 G7 ?" W& b
  133.     }1 s5 _0 v  T, K4 D
  134. + ^0 }( P% C! ^2 G
  135.     bsetcookie("USERID","$uid\t$username\t$pid",NULL,"/",$config['baseurl']);) k8 ~; G1 N' S$ U+ w& U
  136.     setcookie("USER",$username,NULL,"/",$config['baseurl']);
    7 |- C: I/ v4 m' A5 D
  137.     $_SESSION["IFPAY"]=$re['ifpay'];
    8 ~4 H1 a  t3 b  l( d
  138.    1 a6 }+ l* ]7 a* ~4 ?
  139.     if(time()-$re["lastLoginTime"]>=3600), F/ u( T$ G# X" z* v0 |" `  n, V5 B5 j
  140.     {/ }5 w8 C. Y3 O
  141.         include("config/point_config.php");' s) l/ t  `; j$ @" K* d" d( l0 m7 j0 Q
  142.         if($point_config['point']=='1'&&$point_config['every_logo']!='0')
    ; U( n) D. J5 O0 V0 O9 k) Q
  143.             renew_point('',$point_config['every_logo']);
    0 z) ]: l/ s1 ~+ A/ b
  144.     }; {- T* G% y! y$ t
  145.    4 Q0 m* w- a+ }4 T
  146.     if(!empty($re["lastLoginTime"])&&empty($re['regtime']))1 T" S2 o, \: ~, |' v" p& P7 ?6 M
  147.     {
    # i  ]" {" Q) e7 C
  148.         $sql="update ".USER." set regtime='".date("Y-m-d H:i:s")."' WHERE userid='$uid'";& h  W- o; V/ ~9 H' c' V+ a3 D) M
  149.         $db->query($sql);0 s  O) D* U8 p$ X7 C  q
  150.     }
    , F, ?8 S1 A: w4 o$ r. _
  151.     else/ Y# F. E1 L. U" n) z3 Q1 F2 {
  152.     {1 C6 f; r# n1 @2 d
  153.         $sql="update ".ALLUSER." set lastLoginTime='".time()."' WHERE userid='$uid'";( N6 G4 r; B) _, _( `& [% I* \( T
  154.         $db->query($sql);- p! m. [  s( a
  155.     }
    2 E( Z: s( t1 L5 f3 K- X
  156. }
    2 z- b  d* |) ?
  157. //==================================================================================
    / b( S0 T9 {- f5 p
  158. include_once("includes/global.php");3 x8 @3 E1 l5 i+ O& N
  159. include_once("includes/smarty_config.php");0 ]! g& S9 t! l( X" a2 r
  160. include_once("config/reg_config.php");/ U. p2 P! x& q6 a" U7 r) v# A9 _
  161. $config = array_merge($config,$reg_config);
    * E5 i7 l. a+ E8 H$ i/ a3 S' n
  162. if(!empty($_GET["user"])&&!empty($_GET["email"]))
    : R3 r! Q( q6 }+ {% u2 u5 v
  163. {1 @4 i/ R$ t; \0 ?- \) G
  164.     $sql="select user,userid from ".ALLUSER." where user='$_GET[user]' and email='$_GET[email]'";
    1 @/ z3 A8 g0 l- H
  165.     $db->query($sql);
    , h+ L% o7 S8 l9 J! R, U: ?
  166.     $re=$db->fetchRow();
    ) G' S6 V$ K# {0 X# r' ^  {+ R
  167.     if(!empty($re['user']))
    ) I8 f# r! }7 R1 O& j4 a
  168.     {) _  C6 K' z# w9 |: U" C9 Q
  169.         $sql="update ".USER." set ifpay=2 where userid=$re[userid]";
    1 H- W. F& ?9 c* z% G
  170.         $db->query($sql);3 ~  l* b$ ^+ z( m* _5 Y/ p& f
  171.         header("Location:login.php?user_name=$re[user]");
    1 \. H7 k0 F# U) q8 p( R, X
  172.         exit();
    . n. D  \- F3 A! x
  173.     }: Q. ], g2 s5 r3 C0 [% m! Z2 C
  174. }
    ! }$ Q2 e) w( D2 b) `, h7 r/ e
  175. if($buid&&empty($_GET['style']))& n$ j& |% U9 n+ K0 x
  176. {
    ( \' \8 S: b: q, J$ [6 @
  177.     header("Location:main.php");5 D" \* V$ m8 ?7 W
  178.     exit();
    ( x5 I- \' D% q, a
  179. }) h; q1 |0 t+ d; Q4 r
  180. ; a( |, y8 J9 ~# h1 C4 s- c2 u

  181. , O# j' _/ t0 |& x& u
  182. include_once("footer.php");/ Z8 @# y: h4 l% w4 ~& ?0 b
  183. $tpl -> assign("current","office");# T9 I: ~4 w) c: }, u* K
  184. if(!empty($_GET['style']))9 K, B. @! w7 h) b5 l
  185.     $tpl->display("login_box.htm");( c" e) \+ n7 m9 B' I
  186. else+ n/ Z  g& z) O! T# Q0 H
  187.     $tpl->display("login.htm");
    , L# s' k8 t8 P$ {+ B
  188. ?>
Скопировать код
) @( K2 `: l, |; b5 ?
* U" K8 F+ h9 P0 f& _
" X/ Y* K7 H; l. z# x& F" n4 R; T
Чтобы ответить, вам надо авторизироваться в системе Вход | Регистрация

Правила начислений

Закрыть

Горячая информацияНазад /1 Вперед

Карта|Теги|Черный список|Версия для КПК|Архив|RSS|Русское сообщество Chinascript.ru

GMT+2, 23-04-2018 09:50 , Processed in 0.047212 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.1 Licensed

© 2001-2013 Comsenz Inc.

Быстрый ответ Вернуться к началу Назад к списку