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

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

Авторизация

[Скопировать ссылку]
Опубликовано 03-06-2015 19:43:06 | Показать все сообщения |Режим чтения
Наши разработки
сообщение изменено rams в 03-06-2015 19:45
При авторизации на сайте логином пользователя user. Может ли кто подсказать как сделать авторизацию по email8 h# O5 V' n+ d( |& W3 |
  1. <?php1 {6 x$ z- U6 O  H6 u
  2. session_start();
    0 U! U6 {/ T. I* ]& F
  3. if(!empty($_GET["action"]))
    3 N5 \; t( f4 q
  4.     $post=$_GET;
    ! O+ {* m* ?7 t9 I1 K
  5. else# E* g2 w; Z. c' W
  6.     $post=$_POST;8 l2 b3 q+ ]3 U. H# U9 @
  7. if(!empty($post["action"])&&$post["action"]=="submit")
    0 X' W) L" R6 D3 |0 U4 K2 T& |
  8. {
    : Q9 `; l* \. [# Z" U. Q. V
  9.     if(strtolower($_SESSION["auth"])!=strtolower($post["randcode"]))! \, B* P  u! H. q' V7 K
  10.     {
    # J6 o7 g3 b6 _+ H
  11.         header("Location: login.php?erry=-3");//ÑéÖ¤Âë´íÎó
    - Y% P" B7 {1 U6 Q
  12.         exit();
    4 F4 C8 |  M$ Q! H+ J
  13.     }4 C4 S" Y0 F  m5 ?& m  A
  14.     include_once("includes/global.php");- f: s% V0 y' M. T
  15.     include_once("includes/smarty_config.php");$ \3 K  Z( \9 A# E, h! A3 V
  16.     include_once("config/reg_config.php");( ]7 Y  T8 z; m( G* X* v
  17.     $config = array_merge($config,$reg_config);$ Y1 N) T& M/ s  w
  18.     if($config['openbbs']==2)
    # y, J; Z7 f% s" o5 i( p
  19.     {    //ucenter1.5 login
    ; L" v! M; g7 \, \" ~  j
  20.         $sql="select userid,user,password,email from ".ALLUSER." a where user='$post[user]'";
    1 Y3 l& S5 w0 n* h( R' r6 S
  21.         $db->query($sql);6 [8 `. p9 w% f4 L
  22.         $re=$db->fetchRow();//bbÓû§ÊÇ·ñ´æÔÚ
    ; Z( `6 e* \# u3 e. u
  23.         if(!empty($re['password']))0 J2 H, w; s: m" B+ E! J' g) ^
  24.         {
    0 s$ ~; z  a% b( P' Q9 W  {
  25.             if(substr($re['password'],0,4)=='lock')
    8 {! v7 p5 a4 k3 N3 Q" A
  26.                 msg('login.php?erry=-4');//֮ǰʹÓÃÁËÕÒ»ØÃÜÂ빦ÄÜ£¬ÕË»§±»Ëø¶¨
    5 E& A1 V% @3 T2 f3 B' _' _! N
  27.             if($re['password']!=md5($post['password']))& H+ p3 X- }3 b4 k+ T1 U
  28.                 msg('login.php?erry=-2');//ÃÜÂë´íÎó
    , g( d4 f- f$ }" L/ z  Y, _
  29.         }. x1 n! y" G, S+ }7 t9 i( E
  30.         include_once('uc_client/client.php');" e3 Q; `& J% I# j: Y0 _  J% E9 z
  31.         list($uid, $username, $password, $email) = uc_user_login($post['user'], $post['password']);//ucÊÇ·ñ´æÔÚ7 T) z7 I5 q$ N6 x0 e6 ]
  32.        ( p7 k' Q$ U: S2 S( f
  33.         if($uid>0||$re["userid"])/ d0 m* @( `2 g! I
  34.         {    //Èç¹ûuc»òÕßBBÖ®ÖÐÓÐÒ»¸öÕË»§ÊÇÕýÈ·µÄÖ´ÐÐÈçϲÙ×÷2 R- U: G# H0 d0 k
  35.       
    - G1 I9 ]+ g$ `- w8 H1 o: q
  36.             if($uid<=0&&$re["userid"]>0)//UC²»´æÔڣ£´æÔÚ  U1 c- r9 C) V5 k/ Z4 r5 ?
  37.             {9 W; j/ }- Y7 f- L, z1 m
  38.                 $uid = uc_user_register($re['user'], $post['password'], $re['email']);( T- |! r7 \+ U
  39.                 if($re['pid'])
    * i  Y; c& O/ H6 h, g1 J, p7 ~) d* E
  40.                     login($re['pid'],$re['user'],$re['userid']);//×ÓÕ˺ŵǼ
    9 q& I5 k1 ^- w: W
  41.                 else
    0 s) A# k' a7 I" L# B* G% n/ A1 z
  42.                     login($re['userid'],$re['user']);//Ö÷Õ˺ŵǼ
    % q! e: s6 O3 h( w' \& N! i/ Z: V& e- e' q
  43.             }% d. C4 P3 l6 c3 [, B/ J* o
  44.             elseif($uid>0&&$re["userid"]<=0)//UC´æÔÚBB²»´æÔÚ
    9 A1 @0 s. H5 Y  Y# t8 s) ]
  45.             {
    2 m0 `, X* z: T" P) {
  46.                 $dbc=new dba($config['dbhost'],$config['dbuser'],$config['dbpass'],$config['dbname']);
    6 }/ @4 P, N$ ^- b9 x
  47.                ( O. B( ^7 P4 o8 ]! t
  48.                 $ip=getip();# p, R) t" d5 W( H& w( I1 A
  49.                 $dbc->query("insert into ".ALLUSER." (user,email,password,ip) values
    : Q2 B) T- C  w. K) W
  50.                 ('$post[user]','$email','".md5($post['password'])."','$ip')");3 b& P# g& `! b1 ^* Y3 {7 [# d
  51.                 $re['userid']=$dbc->lastid();
    : J$ `! x( I' F4 [) p. O" T
  52.                 $re['user']=$_POST['user'];0 z/ H/ P) g6 e2 Y! ]$ K; v
  53.                7 o6 r0 m: Y+ n) @
  54.                 if(empty($config['user_reg']))( Z6 n0 H$ Q. K) Q' R
  55.                     $user_reg=1;5 Z6 A9 n6 }% Z4 T6 F/ [$ o; j; I
  56.                 elseif($config['user_reg']==3); U, E& Q/ S9 u# @1 \: `( E  z( `
  57.                     $user_reg=1;2 C' d# }' }0 u
  58.                 else# |; U2 y- ?9 P, `/ T( }
  59.                     $user_reg=$config['user_reg'];
    . Y6 E% Q& e3 y' ?
  60.                    4 n0 P' u  o! q8 ^# E; R9 M3 f" o
  61.                 $sql="INSERT INTO ".USER."
    ' G! g8 @6 g: B
  62.                 (userid,regtime,template,country,ifpay) VALUES
    0 w  ]" I% c1 t" c( S
  63.                 ('$re[userid]','".date("Y-m-d H:i:s")."','".$config['default_user_tem']."','$country','$user_reg')";8 m1 p2 P; B  _; x1 Z
  64.                 $db->query($sql);) z- {' T  o- F0 x. ?9 _0 T
  65.                 login($re['userid'],$re['user']);//ÍøÕ¾µÇ¼6 h3 j& |$ ?" M2 ]  o
  66.             }
    , G' A0 A' y2 E2 s6 {1 ?) f3 [1 H; D
  67.             else) |% U# l! e( g8 N2 Z* @( W5 y# R4 M
  68.             {7 @2 p; W, C9 g% i0 t/ x
  69.                 if($re['pid'])" k3 w' f/ [8 [0 @* M3 ]& V5 z
  70.                     login($re['pid'],$re['user'],$re['userid']);//×ÓÕ˺ŵǼ0 b" j" C; {3 B8 w- Q- w" m3 f4 U. K
  71.                 else
    2 N6 R/ e& |; h% a5 c
  72.                     login($re['userid'],$re['user']);//Ö÷Õ˺ŵǼ
    0 v" L/ R+ H8 U* n- \4 X/ d
  73.             }
    5 N  I& m: b; y
  74.             echo uc_user_synlogin($uid);//£Õ£Ãͬ²½µÇ¼" M# }; S( j4 `+ t
  75.             $forward = $post['forward']?$post['forward']:$config["weburl"]."/main.php";
    ; n/ I( T, F" w7 o" a7 l
  76.             msg($forward);0 `8 h. e) B; s6 D2 i0 _- Q
  77.         }0 s$ v7 S- B( M! W! M- I1 w7 c
  78.         else  e* n9 _- \6 ^8 a9 z
  79.         {5 N; [" b7 v, S% ?
  80.             header("Location: login.php?erry=-1");//Óû§²»´æÔÚ
    0 X$ y8 Q/ J3 N' Q
  81.             exit();# |6 q; X$ s, w& m
  82.         }5 X( [+ Y" |( B" f
  83.     }8 l' s  b; h: j/ V3 Z% [
  84.     else4 O- x$ B9 m/ w9 A; b5 y
  85.     {   
    6 C, h( K: X7 X( c1 A& P/ b
  86.         // no ucenter login
    ! |; @- e; t+ u0 y) j4 m
  87.         $sql="select * from ".ALLUSER." where user='$post[user]'";2 a- K5 |& H6 O5 f) J5 _8 y" o
  88.         $db->query($sql);9 z6 m+ i. |6 H0 U/ A8 V+ p
  89.         $re=$db->fetchRow();
    . Y2 T; a, j+ i( S, Z
  90.         if($re["userid"])$ n2 y& w  \) s0 v
  91.         {+ J  ]& j3 y) q8 |; _$ v
  92.             if(substr($re['password'],0,4)=='lock')' A9 u! n! A. T# s( |
  93.                 msg('login.php?erry=-4');//֮ǰʹÓÃÁËÕÒ»ØÃÜÂ빦ÄÜ£¬ÕË»§±»Ëø¶¨( ^; V7 c$ t. G3 l
  94.             if($re['password']!=md5($post['password']))) G/ e" M, A4 g
  95.                 msg('login.php?erry=-2');//ÃÜÂë´íÎó) s( T" f; I' z4 |/ ?9 s
  96.            ' w0 c: ~- e0 V9 o: n9 T
  97.             if($re["password"]==md5($post['password']))$ G. n: @+ [( z" Y' o
  98.             {
    3 J7 i0 |! l1 x
  99.                 if($re['pid'])
    * h- I  q2 l1 {1 U2 D0 m" z3 M4 l
  100.                     login($re['pid'],$re['user'],$re['userid']);//×ÓÕ˺ŵǼ
    ' W1 Y/ p& o- B6 t' L. _3 F
  101.                 else& W; @. J8 x, I( n( I! v, N
  102.                     login($re['userid'],$re['user']);
    - o2 `4 q0 [2 |" u, @
  103.                   
    2 a, w- l8 v% o0 t% S+ e2 l
  104.                 $forward = $post['forward']?$post['forward']:$config["weburl"]."/main.php";4 K/ ]; Z7 X" ~; U4 o. y2 T
  105.                 msg($forward);
    - q- `2 P) Z; L' }! B# p- ?% ]; M
  106.             }
    8 j8 H* e, n  e9 }
  107.         }4 ~- v3 m0 ^2 P- L; h/ q: _) l* A6 t
  108.         else. j* i1 W5 Q2 `6 B) x$ T6 ^3 ^* L8 l
  109.             msg('login.php?erry=-1');//Óû§²»´æÔÚ3 E! h; J1 q0 L2 f, G
  110.     }! [5 `( W  r4 {* j& z: ^
  111. }3 e2 h1 R4 C/ X) G0 E
  112. //========================================================/ Y+ E  M( l) t& t
  113. function login($uid,$username,$pid=NULL)4 v2 L! x2 X9 V+ `% k
  114. {
    3 b  U- L1 N( y. _) b- _+ P0 c
  115. + c% t* p5 b6 _# r& M
  116.     global $post,$config;
    ) [/ s/ C  e* M/ P: s8 h9 Z. X
  117.     $db=new dba($config['dbhost'],$config['dbuser'],$config['dbpass'],$config['dbname']);1 C* X, e8 r, ^! i" H
  118.    
    . ]! k$ T; L) O* h2 m- d: a1 ~7 F
  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]'";& e! `( ?1 X+ w# r: H
  120.     $db->query($sql);
    2 {0 e' s* k" H. U; d2 v3 G
  121.     $re=$db->fetchRow();0 \% }7 |5 Z- b' x
  122.     if(is_dir("$config[webroot]/t/"))  f; |8 U/ D+ A5 d
  123.     {8 J' t6 X' ~  Y# S9 Y3 O' \
  124.         //=====΢²©°ó¶¨µÇ¼=====
    / K& b* h" c! [; Q
  125.         if($re)% K0 e1 k( V6 w( p7 c0 r7 T
  126.         {! c$ _& ~6 w% V0 s
  127.             include_once 't/application/adapter/account/xauthCookie_account.adp.php';+ ]3 D& {; C1 u! ^
  128.             $xwbAccount = new xauthCookie_account();1 c  R& c* `0 f3 U5 P$ _7 O
  129.             $xwbAccount->_setLocalToken(null);
    & h- l& t3 V: G3 ~1 D6 F) n: b% u" c
  130.             $xwbAccount->_setLocalToken( array('uid'=>$uid,'uname'=>$username));3 h9 r  i( Z# X5 k7 u% e4 T
  131.         }! L' T' a# B# p4 z1 Y) x
  132.         //=====================
    0 k1 H' R9 d1 f4 W
  133.     }& k& l5 s  q* H! C! I8 q0 a
  134. 3 n7 X4 ^* z# }
  135.     bsetcookie("USERID","$uid\t$username\t$pid",NULL,"/",$config['baseurl']);
    6 I- m1 v: A! V7 S& S& Y
  136.     setcookie("USER",$username,NULL,"/",$config['baseurl']);
    0 @% q) r5 Y" |  i7 \9 F, P
  137.     $_SESSION["IFPAY"]=$re['ifpay'];
    3 f! B8 g# B! k: @6 M, o
  138.    8 |! q, t$ [( C5 D3 ?
  139.     if(time()-$re["lastLoginTime"]>=3600)
    / \0 b3 S% Z+ k' I( }8 o1 T2 p9 ?+ d
  140.     {
    4 ]% g+ `% ~0 U8 b: z
  141.         include("config/point_config.php");
    8 H% \  M! ?. B+ _/ {! E
  142.         if($point_config['point']=='1'&&$point_config['every_logo']!='0')& K, o3 [4 M& d2 q3 I
  143.             renew_point('',$point_config['every_logo']);7 y+ S* N+ m3 J  @+ y6 [
  144.     }
      O  c4 N% ^* P, n. Y( f! \% O
  145.    0 Q6 d) A4 }5 T9 z6 x6 T; }, E4 g
  146.     if(!empty($re["lastLoginTime"])&&empty($re['regtime']))4 l6 {! J* s6 ]
  147.     {% h6 n; L0 c& V; L
  148.         $sql="update ".USER." set regtime='".date("Y-m-d H:i:s")."' WHERE userid='$uid'";
    3 j. g* T* j2 J$ s% r
  149.         $db->query($sql);
    8 W7 G* \9 u9 t1 r9 r" }/ A: S2 j
  150.     }
    % U  a  l! w7 s$ \- M" w
  151.     else9 U- h" u% [. q+ N1 C. n1 k
  152.     {3 ?$ G0 L$ _8 y. |6 f* A
  153.         $sql="update ".ALLUSER." set lastLoginTime='".time()."' WHERE userid='$uid'";% ?* l5 Y) t4 b
  154.         $db->query($sql);7 H/ G" `" O0 c' y- O4 }
  155.     }3 h# w7 p/ b& s  O
  156. }" z, s1 H7 }+ n1 M
  157. //==================================================================================+ K# W8 A$ v9 L) K; W8 x( M& `. u: h
  158. include_once("includes/global.php");. w" l: E2 ]) T# @# ~2 T
  159. include_once("includes/smarty_config.php");% I% k8 G, U3 @
  160. include_once("config/reg_config.php");
    ) S% w6 U3 k+ @9 [; L. m
  161. $config = array_merge($config,$reg_config);
    * x" Y" b- X$ Z  A% A
  162. if(!empty($_GET["user"])&&!empty($_GET["email"]))4 s- ^0 |# b6 m: g9 Y8 _+ x
  163. {0 L; h# p, b: Y1 |
  164.     $sql="select user,userid from ".ALLUSER." where user='$_GET[user]' and email='$_GET[email]'";
    - e6 U/ A0 E# p7 T, j7 a2 U; v5 _
  165.     $db->query($sql);
    . N6 k$ J; ^' V: h* a
  166.     $re=$db->fetchRow();# H. r+ Y8 {: s3 P" g! B
  167.     if(!empty($re['user']))
    * n' B2 {9 C* Y" J5 m0 ?
  168.     {
    $ Z4 D3 d5 R4 h7 w. p: z$ J' T% O; T
  169.         $sql="update ".USER." set ifpay=2 where userid=$re[userid]";
    $ S+ r+ L+ r. Q! r
  170.         $db->query($sql);; A4 `) m. J8 H! x6 O0 |
  171.         header("Location:login.php?user_name=$re[user]");
    ) S* E. l) @5 \0 u, v
  172.         exit();7 |1 _! s8 h: T5 Q* Z# i: t
  173.     }
    6 i1 `& D% j! I6 m8 b
  174. }* n( G' {4 x7 a! z
  175. if($buid&&empty($_GET['style']))& o" Y- H3 X$ ~9 H
  176. {
    0 H) h4 k# X. T) V' P# o$ T# N) g: b
  177.     header("Location:main.php");3 p2 G/ W: l% X" s
  178.     exit();, _& r: N2 `" p- |% \5 b* M' q
  179. }1 b+ H- u/ w& n/ c0 J, k, ?) i; \
  180. & f. J9 u( Y+ a- e6 {3 A" q, @
  181. 6 _' _# r. W% U+ @3 y2 i
  182. include_once("footer.php");
    / n: m. q6 \$ `% Z( Z- X; r/ j# H
  183. $tpl -> assign("current","office");0 x$ k& A% c& |* e
  184. if(!empty($_GET['style']))- s: V9 K1 p7 K! _; h
  185.     $tpl->display("login_box.htm");
    ) \6 l) v0 X9 S: D, `5 e, O$ V
  186. else6 y. |. M% U8 T' v2 ]3 \) ], h
  187.     $tpl->display("login.htm");, r) ?8 N4 a' k
  188. ?>
Скопировать код
& N4 I: X, D8 J- _1 E2 I, j0 R

7 Q% x' o! |) j5 f0 @
- I  S* k7 O% i2 {0 @4 q
Чтобы ответить, вам надо авторизироваться в системе Вход | Регистрация

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

Закрыть

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

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

GMT+2, 21-01-2018 18:48 , Processed in 0.050657 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.1 Licensed

© 2001-2013 Comsenz Inc.

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