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

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

Авторизация

[Скопировать ссылку]
Опубликовано 03-06-2015 19:43:06 | Показать все сообщения |Режим чтения
Наши разработки
сообщение изменено rams в 03-06-2015 19:45
При авторизации на сайте логином пользователя user. Может ли кто подсказать как сделать авторизацию по email0 u' s2 |+ B) K! t9 K# o
  1. <?php
    3 T6 p  a5 a6 r: O2 {. n+ ?
  2. session_start();  I! w  b! j5 E+ X& M4 i* V, o
  3. if(!empty($_GET["action"]))! N  H. ?9 ?4 I9 g! d/ Z
  4.     $post=$_GET;, x! [, n# c, E2 F! |( ~* Y$ e9 M
  5. else4 C. b; V: d; P9 f) K! v
  6.     $post=$_POST;
    : @: W5 b" x1 z  x* X8 s9 F( v
  7. if(!empty($post["action"])&&$post["action"]=="submit")
    , H- j' B; f3 l: Z
  8. {( _- y9 p9 ?( q+ B/ S
  9.     if(strtolower($_SESSION["auth"])!=strtolower($post["randcode"]))
    ) w0 j0 D( u( |* V  x- p! i
  10.     {% ~( A  u4 ~7 I# g  \' l" R
  11.         header("Location: login.php?erry=-3");//ÑéÖ¤Âë´íÎó
    # ?) B1 u! X$ C; {4 l0 n- @
  12.         exit();
    , |: \  K- {$ j  o& r- F
  13.     }" K; z- ?$ U0 o4 H) J& d* x( B/ |
  14.     include_once("includes/global.php");$ H. h  m5 ^: b% n' I1 V: D
  15.     include_once("includes/smarty_config.php");
    * N0 C, a; m4 c$ E, N  S$ p
  16.     include_once("config/reg_config.php");" O4 v: ?) r! s2 K8 H, Z
  17.     $config = array_merge($config,$reg_config);0 K, f) X; S& u0 _
  18.     if($config['openbbs']==2). G9 ]8 Y- S# V1 M2 T
  19.     {    //ucenter1.5 login
    + Q  ^5 V! ~$ \5 P: p
  20.         $sql="select userid,user,password,email from ".ALLUSER." a where user='$post[user]'";
    ; Z" Q5 Z6 ~% @9 E( Q5 L7 `
  21.         $db->query($sql);
    3 x% @, z# Z/ F* B! Q  G
  22.         $re=$db->fetchRow();//bbÓû§ÊÇ·ñ´æÔÚ  f- s! z# ~& ]$ A6 c& z) [
  23.         if(!empty($re['password']))
    ( D, }1 z7 t) Z/ }$ ]% {
  24.         {" q4 w  B5 S7 ]% t2 x) C# w* k0 j
  25.             if(substr($re['password'],0,4)=='lock')
    / J2 Q# K) C3 F: A6 T# i1 F
  26.                 msg('login.php?erry=-4');//֮ǰʹÓÃÁËÕÒ»ØÃÜÂ빦ÄÜ£¬ÕË»§±»Ëø¶¨  B% H) G/ E1 p1 R
  27.             if($re['password']!=md5($post['password'])); O6 Z* P( I: Z: P
  28.                 msg('login.php?erry=-2');//ÃÜÂë´íÎó
    6 `: G; M5 y7 @( H1 i* s
  29.         }7 M% S* f  x  d' B) a. d* \
  30.         include_once('uc_client/client.php');
    / j8 q  N: e; Q/ m. x+ x* }# e
  31.         list($uid, $username, $password, $email) = uc_user_login($post['user'], $post['password']);//ucÊÇ·ñ´æÔÚ* K: a' w3 g, e, q# b& o& D; q
  32.       
    4 B" \  U* R/ S
  33.         if($uid>0||$re["userid"])
    7 O6 I$ C4 L0 d0 J. J& X
  34.         {    //Èç¹ûuc»òÕßBBÖ®ÖÐÓÐÒ»¸öÕË»§ÊÇÕýÈ·µÄÖ´ÐÐÈçϲÙ×÷. G, h0 }8 ?. Z7 Z' z% J! W  w
  35.        # V8 ~: a, ]# O  w" \5 q
  36.             if($uid<=0&&$re["userid"]>0)//UC²»´æÔڣ£´æÔÚ
    1 y# z/ w! @; m0 \0 e
  37.             {
    ( u5 K3 V0 _  H1 S
  38.                 $uid = uc_user_register($re['user'], $post['password'], $re['email']);& o' R7 L- J6 c% \0 |
  39.                 if($re['pid'])
    . D: l) K! y0 c8 B- R
  40.                     login($re['pid'],$re['user'],$re['userid']);//×ÓÕ˺ŵǼ0 S& l5 j+ _% `
  41.                 else
    + {$ v- Z, ^$ [9 y
  42.                     login($re['userid'],$re['user']);//Ö÷Õ˺ŵǼ0 c7 f- z3 J" o  F+ e- v
  43.             }
    / @% t6 _* ]6 N$ z+ L- v9 K
  44.             elseif($uid>0&&$re["userid"]<=0)//UC´æÔÚBB²»´æÔÚ2 ^% s1 z# p7 f7 f3 [, o% |+ [5 Q
  45.             {  A) i1 f  U- S0 s4 h3 N
  46.                 $dbc=new dba($config['dbhost'],$config['dbuser'],$config['dbpass'],$config['dbname']);
    4 [# a- b( L$ Z3 r. r1 L' b
  47.                
    6 O# Y9 l7 r/ ~' x5 V6 E
  48.                 $ip=getip();
    4 ~; S* M+ l( I4 s9 p* |2 o5 l
  49.                 $dbc->query("insert into ".ALLUSER." (user,email,password,ip) values2 x% P) Y) B0 j$ N9 m3 O
  50.                 ('$post[user]','$email','".md5($post['password'])."','$ip')");
    1 C& S" o9 ^# W& b: c
  51.                 $re['userid']=$dbc->lastid();
    - V# O# |8 c4 X! o( @! l
  52.                 $re['user']=$_POST['user'];
    ! H# `2 `" Q: K- O; `: g3 W
  53.                
    , h6 b% B1 B1 Z2 U
  54.                 if(empty($config['user_reg']))
    1 O2 u) k( E- Z* b( v5 c. o
  55.                     $user_reg=1;6 c7 }" m8 P5 t% o! E! v$ d3 X
  56.                 elseif($config['user_reg']==3)
    - o* C5 B0 Z7 O
  57.                     $user_reg=1;
    # X2 T, t2 F; C
  58.                 else
    / _$ r2 `' ^. R! c, Y
  59.                     $user_reg=$config['user_reg'];3 l( @% A& _3 N1 w- [+ r8 @
  60.                    ! X  a; B/ s6 n& a- J4 t
  61.                 $sql="INSERT INTO ".USER."
    6 C) ]+ a3 g- W: i% T) V
  62.                 (userid,regtime,template,country,ifpay) VALUES
    . p4 Y- o: @, F
  63.                 ('$re[userid]','".date("Y-m-d H:i:s")."','".$config['default_user_tem']."','$country','$user_reg')";3 e0 I) \7 ]5 Y8 @: x( D: W
  64.                 $db->query($sql);: a. P8 o  e& I+ T/ `" _4 C
  65.                 login($re['userid'],$re['user']);//ÍøÕ¾µÇ¼) _9 W; f/ P% i5 `6 P0 z/ q& o
  66.             }
    1 T1 r1 t; Z9 ^6 |  F3 d1 a! L
  67.             else
    0 F4 F! M( Q# L1 w
  68.             {
    9 B$ s" F' \" u* O7 r" F( [( Y# ^
  69.                 if($re['pid'])
      j: [  q  R/ X$ B! A9 N3 Q' t
  70.                     login($re['pid'],$re['user'],$re['userid']);//×ÓÕ˺ŵǼ3 ~8 U8 @7 t1 i" f& ~# |, A& T
  71.                 else  v: s: V% a$ f( M7 p3 s
  72.                     login($re['userid'],$re['user']);//Ö÷Õ˺ŵǼ
    + c! {& m5 {& G+ w/ U$ x0 _
  73.             }: o9 K, C/ k8 I" V) A
  74.             echo uc_user_synlogin($uid);//£Õ£Ãͬ²½µÇ¼
    ) V7 f5 ^# [  N) l1 D0 z7 k
  75.             $forward = $post['forward']?$post['forward']:$config["weburl"]."/main.php";
    : \3 V9 D) U. Y5 B6 x. t4 Z) T6 n
  76.             msg($forward);9 g6 `6 `3 s$ |9 ?5 v& P
  77.         }
    7 F4 z6 S3 n) e5 t! o
  78.         else
    % a8 E* N: X' o
  79.         {  J# B, d# m' C; n, N8 J0 ^
  80.             header("Location: login.php?erry=-1");//Óû§²»´æÔÚ/ i+ ?- Z& i& W; a  y2 M, S+ e# G
  81.             exit();4 i4 O. x, u- _' ^
  82.         }
    9 n3 V4 N6 Z; ^" h) ]0 N7 A% u
  83.     }% F' ~8 ^) U  R, ?0 g
  84.     else! L$ u2 R& v# D# L9 V: ?
  85.     {   ! q' X3 b1 ~# I; ^2 Z
  86.         // no ucenter login
    / W* q7 K/ }! W% ~8 i$ l: r; z
  87.         $sql="select * from ".ALLUSER." where user='$post[user]'";  u5 a! V5 V! W1 U
  88.         $db->query($sql);
    % Q3 ]" w' }8 i& S4 u0 ^9 ~% U
  89.         $re=$db->fetchRow();3 b0 Y+ `" s8 V4 M5 l
  90.         if($re["userid"])
    : e( n2 {3 h& N$ |2 g2 f9 m
  91.         {
    ' Q. u6 d2 w) O$ [, P( i
  92.             if(substr($re['password'],0,4)=='lock')
    $ Z, g, K5 H& E- M
  93.                 msg('login.php?erry=-4');//֮ǰʹÓÃÁËÕÒ»ØÃÜÂ빦ÄÜ£¬ÕË»§±»Ëø¶¨
    9 {' U+ J6 N# K" z* I& R
  94.             if($re['password']!=md5($post['password']))
    3 `" c! a9 M" d5 I' \, O
  95.                 msg('login.php?erry=-2');//ÃÜÂë´íÎó
    4 G4 d/ T0 x2 O
  96.            " b4 W0 I8 B. H) X9 I
  97.             if($re["password"]==md5($post['password']))
    4 T6 b, z+ P- D/ U9 v" D  x
  98.             {# V( y  K5 @# X8 b
  99.                 if($re['pid'])
    ' ]1 Q5 O8 I9 O9 |3 E% @6 z% I
  100.                     login($re['pid'],$re['user'],$re['userid']);//×ÓÕ˺ŵǼ- K/ y, D" ~/ e- P( V' Z
  101.                 else, A( K, {# |8 L! C3 E& q
  102.                     login($re['userid'],$re['user']);' b& |; k- k1 ~$ p$ m2 k8 }
  103.                    7 M; `* K7 j1 j, a) f/ K0 j& ~
  104.                 $forward = $post['forward']?$post['forward']:$config["weburl"]."/main.php";
    5 r0 j5 \6 \. o) [3 p
  105.                 msg($forward);
    / a! k4 ?. T, I1 M- o: t
  106.             }
      Z: q* B! n4 l- l7 E
  107.         }
    * ^; e- {; z" @" u" X$ U1 e( f
  108.         else
    % f/ @) `! f4 D/ x6 N- L
  109.             msg('login.php?erry=-1');//Óû§²»´æÔÚ" p9 ~* G6 ?3 F7 d
  110.     }
    0 o+ i8 I# w2 [$ e4 e6 t
  111. }% x1 }6 T% V1 k) a% j
  112. //========================================================
    & y3 u8 T) w* Q( U+ m6 s( U
  113. function login($uid,$username,$pid=NULL)& A! q2 v6 H9 j$ G& T: f$ z7 A+ ]
  114. {
    0 P0 ^* [9 F1 g# h
  115. % v% s/ S/ T9 l; G% P6 u+ ^
  116.     global $post,$config;
    * [% A' C1 [( [
  117.     $db=new dba($config['dbhost'],$config['dbuser'],$config['dbpass'],$config['dbname']);
    : L9 k$ p: _+ {. v5 v; w
  118.    
    # Y: ?5 e( c% T' O& _8 s' g; U2 {
  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]'";
    " p* Z9 {0 T* ?2 t
  120.     $db->query($sql);9 E( ~8 }( U& }  `
  121.     $re=$db->fetchRow();5 ~- ^# g3 _. s9 R, k6 e
  122.     if(is_dir("$config[webroot]/t/"))
    # g8 c$ O! o- D4 j! v0 D1 \
  123.     {7 w& C5 L8 M! h$ X$ r  K
  124.         //=====΢²©°ó¶¨µÇ¼=====
    % m8 G; L/ l* f# i3 N( ~# ]# V+ C
  125.         if($re)
    / [! s4 B7 V2 k; x+ C/ u
  126.         {1 e0 N( m) s6 l" u- J
  127.             include_once 't/application/adapter/account/xauthCookie_account.adp.php';8 U6 C0 d" [/ o5 ^, \2 f0 |
  128.             $xwbAccount = new xauthCookie_account();
    9 N) S. f' A5 L, V2 X/ T$ n5 E! {% Z
  129.             $xwbAccount->_setLocalToken(null);6 k5 {. U2 J8 `1 q$ n
  130.             $xwbAccount->_setLocalToken( array('uid'=>$uid,'uname'=>$username));
    ( `3 s, Z8 S5 ^) d
  131.         }9 m! R* q" t, s% I  N$ E5 V
  132.         //=====================
    1 A8 [$ L2 ~+ i; E2 ~
  133.     }
    : w  {! _4 T7 z$ i* O& w9 {8 B  O

  134. 0 w6 x) f+ I0 p0 H# g" I
  135.     bsetcookie("USERID","$uid\t$username\t$pid",NULL,"/",$config['baseurl']);( \- j% W# f8 {1 ]7 }  o
  136.     setcookie("USER",$username,NULL,"/",$config['baseurl']);
    . |. u5 p  _3 N7 \( U3 w
  137.     $_SESSION["IFPAY"]=$re['ifpay'];
    ( M! H9 h2 o4 m) L5 }; I3 K2 d! K1 }
  138.    , J) C  q/ `. P
  139.     if(time()-$re["lastLoginTime"]>=3600)/ k- y# ^3 m  Y  E, I
  140.     {
    ' o9 I7 s, Z6 v5 F) o
  141.         include("config/point_config.php");; O0 x1 [4 w9 b' F; H$ `5 V
  142.         if($point_config['point']=='1'&&$point_config['every_logo']!='0')
    $ Y+ a7 a/ L- V, b& T0 l
  143.             renew_point('',$point_config['every_logo']);
    0 k0 ~  C8 b' b5 B, f
  144.     }
    & }( V( M0 ?% Z1 Y' V2 B3 p( E  G
  145.    ) h& z& A2 f: Z+ m1 _( A
  146.     if(!empty($re["lastLoginTime"])&&empty($re['regtime']))) F) X8 G% f$ h5 ~% {3 B
  147.     {
    6 i7 y% W: Z& _+ m; e) X  V3 ]
  148.         $sql="update ".USER." set regtime='".date("Y-m-d H:i:s")."' WHERE userid='$uid'";
    8 C+ d) \* X8 O) r6 T; F' H: R
  149.         $db->query($sql);5 t% p2 C: n& h  l; i
  150.     }7 H9 v( V* \  P% H" B$ V
  151.     else
    ; u- v7 b& ?2 W8 s
  152.     {
    $ [  p9 `. h0 J% k
  153.         $sql="update ".ALLUSER." set lastLoginTime='".time()."' WHERE userid='$uid'";
    , [. x* H/ p+ o8 n' A! r* c; L
  154.         $db->query($sql);
    5 x( v2 L. F( P% \' }& y6 Y7 ^% J
  155.     }
    ' G. \% S! M4 M! k9 Y9 ?9 G
  156. }
    $ p! {0 `" q& W0 v! N
  157. //==================================================================================5 X6 F  M- r$ o; V* F$ S! W
  158. include_once("includes/global.php");
    : j5 i$ T) ~) t
  159. include_once("includes/smarty_config.php");' v. v! H, j$ a3 b
  160. include_once("config/reg_config.php");
    ; k7 m% a9 [$ n* L, v. ~
  161. $config = array_merge($config,$reg_config);
    6 ]" b+ U! \( K0 |! u. v
  162. if(!empty($_GET["user"])&&!empty($_GET["email"]))
    8 u+ ^3 c+ ]2 `" F  D
  163. {  _7 N1 g, k: O" ?. x+ n
  164.     $sql="select user,userid from ".ALLUSER." where user='$_GET[user]' and email='$_GET[email]'";- {" k! x- D6 C& ^% N# a' K
  165.     $db->query($sql);
    " {  P2 r$ K/ P# R$ e
  166.     $re=$db->fetchRow();
    0 R, L. S" c, X, `$ M% E& }
  167.     if(!empty($re['user']))
    + G, C0 B9 L' Y' |9 k9 d. @
  168.     {* i& Y! I  S0 X" p  H8 f
  169.         $sql="update ".USER." set ifpay=2 where userid=$re[userid]";
    " m- u3 Y8 m2 f
  170.         $db->query($sql);3 e6 S. c! J/ \; g/ X7 [8 u
  171.         header("Location:login.php?user_name=$re[user]");0 g" S& _& [8 Q" M% v0 y6 f" x
  172.         exit();9 z  b8 o8 b( u+ u' Q5 M7 }- M
  173.     }8 h( O/ o3 O* _" W. k
  174. }
    " L  A  ]- c. a$ B1 B6 h
  175. if($buid&&empty($_GET['style']))
    6 ~+ c4 J0 l: ^
  176. {% a0 ~, [7 q6 ~) _- b4 y3 v5 l
  177.     header("Location:main.php");
    3 E  G" D1 S: G$ O% {8 p+ d  Y/ J
  178.     exit();  s1 C7 R' i" f* k, W
  179. }
    " K  j- K+ `/ `0 f

  180. 3 J) _, v/ d1 D# x# }
  181. 9 `6 M/ O& t( x
  182. include_once("footer.php");
    ; m  W* n) [& J, B, D4 n
  183. $tpl -> assign("current","office");& A4 n- r+ R% ]3 L, v7 G# D: `9 I
  184. if(!empty($_GET['style']))( H/ j: ~( M2 v- m0 Q9 i
  185.     $tpl->display("login_box.htm");  W0 @' r+ Q2 I4 \( v
  186. else4 k1 S3 ^! N3 Y7 u7 E8 Q
  187.     $tpl->display("login.htm");
    ; ?  J; ~& t* n( s8 |; M5 E
  188. ?>
Скопировать код
& N8 m) b0 `* \' _0 i4 j6 p9 y

. N" B& p: x( d+ l: f- H) W! Y1 d8 L3 u; T2 J6 W4 p; s2 p
Чтобы ответить, вам надо авторизироваться в системе Вход | Регистрация

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

Закрыть

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

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

GMT+2, 20-11-2017 17:07 , Processed in 0.048136 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.1 Licensed

© 2001-2013 Comsenz Inc.

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