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

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

Авторизация

[Скопировать ссылку]
Опубликовано 03-06-2015 19:43:06 | Показать все сообщения |Режим чтения
Наши разработки
сообщение изменено rams в 03-06-2015 19:45
При авторизации на сайте логином пользователя user. Может ли кто подсказать как сделать авторизацию по email
0 O5 f1 A- ]( `2 R0 q
  1. <?php! m4 X4 J" ^' Y. A
  2. session_start();  Y% p0 ?8 q3 Y# ]9 e$ X+ h) O, O' k
  3. if(!empty($_GET["action"]))
    * U& e9 d4 H5 [$ [
  4.     $post=$_GET;, ^7 N. N3 a1 w& a& P' ^
  5. else
    4 V! V1 W6 v! C1 D" V( C
  6.     $post=$_POST;2 e; g9 o- [+ F# s/ |
  7. if(!empty($post["action"])&&$post["action"]=="submit")
    $ j  u6 p8 ]1 `! W7 ^% W
  8. {
    6 q9 K5 `1 }& x7 @* m
  9.     if(strtolower($_SESSION["auth"])!=strtolower($post["randcode"]))1 r0 u4 f3 j7 }7 U7 _% f
  10.     {
    & l2 S( n7 _6 F
  11.         header("Location: login.php?erry=-3");//ÑéÖ¤Âë´íÎó
      s) J3 z7 o) s+ v& Q
  12.         exit();
    ! P+ R! W1 D4 N
  13.     }0 G/ D* \9 Z9 k. `3 [+ @2 i3 j% ]! d
  14.     include_once("includes/global.php");
    0 g  q% g1 U" j: q
  15.     include_once("includes/smarty_config.php");2 ~# U1 Z) n! C  p- F% O, \6 E
  16.     include_once("config/reg_config.php");
    % p/ \+ ~5 p0 y! X" U
  17.     $config = array_merge($config,$reg_config);
    # o' u8 k! q/ Z" T
  18.     if($config['openbbs']==2)
    5 E# I% r! m+ E# \# M' l
  19.     {    //ucenter1.5 login. u) s" \. |. K7 m- ^5 D
  20.         $sql="select userid,user,password,email from ".ALLUSER." a where user='$post[user]'";
    ' m' r# o5 Z: u& Z" t! V
  21.         $db->query($sql);
    " _7 _  r: R0 _5 R$ S4 T4 ]
  22.         $re=$db->fetchRow();//bbÓû§ÊÇ·ñ´æÔÚ1 \' D4 c- O. ?$ V3 g2 C$ ]
  23.         if(!empty($re['password']))
    ) J2 h3 z1 i" P4 @
  24.         {
    # q1 r, m4 c9 P  ^: A
  25.             if(substr($re['password'],0,4)=='lock')2 P4 [  q' p/ Y, d8 P6 q( L
  26.                 msg('login.php?erry=-4');//֮ǰʹÓÃÁËÕÒ»ØÃÜÂ빦ÄÜ£¬ÕË»§±»Ëø¶¨! \/ v3 k7 U0 F2 H. }
  27.             if($re['password']!=md5($post['password']))
    : `% d, P( R/ V9 I8 z# c4 I& r7 a
  28.                 msg('login.php?erry=-2');//ÃÜÂë´íÎó
    8 ~, }2 b2 W* }5 z" H
  29.         }
    0 w' o3 G5 r+ ?% p: G
  30.         include_once('uc_client/client.php');
    5 S) [, K! E8 c. t( t( s$ R: z) [
  31.         list($uid, $username, $password, $email) = uc_user_login($post['user'], $post['password']);//ucÊÇ·ñ´æÔÚ
    ! K# F' j; Q* J& Z6 G1 X0 W6 h, D
  32.       
    " P+ y2 J6 S& G, p
  33.         if($uid>0||$re["userid"])
    8 _5 \- w: X3 c8 b, g5 q( P( I
  34.         {    //Èç¹ûuc»òÕßBBÖ®ÖÐÓÐÒ»¸öÕË»§ÊÇÕýÈ·µÄÖ´ÐÐÈçϲÙ×÷7 q' C6 n; ?3 i* {; r  b6 w6 l' Y
  35.       
    8 l. E6 i$ A& B; b& e# h, J
  36.             if($uid<=0&&$re["userid"]>0)//UC²»´æÔڣ£´æÔÚ
    ; L! x1 a* A  ]$ L6 h
  37.             {
    & k8 |8 ~$ ^' T6 m# a8 z; V
  38.                 $uid = uc_user_register($re['user'], $post['password'], $re['email']);; i' W; I! J0 g6 h. V* I
  39.                 if($re['pid'])  t+ d+ Y# e! Q' ?7 B7 x
  40.                     login($re['pid'],$re['user'],$re['userid']);//×ÓÕ˺ŵǼ7 g: y! f+ `1 C/ H6 V2 r% ?
  41.                 else- W) z; T% z: L4 Y: _3 h
  42.                     login($re['userid'],$re['user']);//Ö÷Õ˺ŵǼ! {- {1 D8 ]( Z5 ^2 |
  43.             }: p, g) j" Z- A1 z4 j) d# p5 Y
  44.             elseif($uid>0&&$re["userid"]<=0)//UC´æÔÚBB²»´æÔÚ. q% K3 D. c0 f3 V" ^, v
  45.             {
    - A& G2 ]' Z: m" J& {* E# j! h
  46.                 $dbc=new dba($config['dbhost'],$config['dbuser'],$config['dbpass'],$config['dbname']);. a' Q! A, N7 k2 a  @
  47.                8 p& L. W# n+ F1 ^' y/ ]
  48.                 $ip=getip();
    6 }; o9 H, A' ]3 s% d& Z& L8 h
  49.                 $dbc->query("insert into ".ALLUSER." (user,email,password,ip) values* I% M+ _: k" o
  50.                 ('$post[user]','$email','".md5($post['password'])."','$ip')");
    3 W) m( f2 P6 c0 }1 l
  51.                 $re['userid']=$dbc->lastid();) q# p( U# D; J2 r/ Y. Z  U
  52.                 $re['user']=$_POST['user'];2 _$ \8 K( ?% R) ~6 n
  53.                
    + F* V- w+ i7 N- V4 L
  54.                 if(empty($config['user_reg']))) T& r4 |6 t- W* U3 e* b8 I
  55.                     $user_reg=1;  Q0 Q) j! R, M6 S4 T8 F. m- |
  56.                 elseif($config['user_reg']==3)( [% X; m" j; [. s* o
  57.                     $user_reg=1;, w  o4 K! W. @8 b' U6 H
  58.                 else
    # A' ?% T8 i& g8 ^
  59.                     $user_reg=$config['user_reg'];
    & m' m% B# A, L7 Q6 i
  60.                    $ S( Z7 q: A- M9 h# B+ H
  61.                 $sql="INSERT INTO ".USER."2 F9 B4 f1 V. @! N3 N7 @- y" o
  62.                 (userid,regtime,template,country,ifpay) VALUES
    " P- S9 d: r% P8 r
  63.                 ('$re[userid]','".date("Y-m-d H:i:s")."','".$config['default_user_tem']."','$country','$user_reg')";
    - t: ^/ V( |( O" H, O- h
  64.                 $db->query($sql);
    ) c0 d( }+ s) g4 @
  65.                 login($re['userid'],$re['user']);//ÍøÕ¾µÇ¼, m: q# _% O- r1 {
  66.             }
    ' r' y$ v5 R2 J
  67.             else
    4 C0 E" k& T# r' w; p6 Q7 @. v
  68.             {& z5 F( F( u( u' C  a) p; U7 r7 q
  69.                 if($re['pid'])( f# j8 w4 h# M+ j* I3 c
  70.                     login($re['pid'],$re['user'],$re['userid']);//×ÓÕ˺ŵǼ
    . n8 r1 B9 B/ \, ]7 |$ Z
  71.                 else
    1 _9 r. G  g5 y$ C
  72.                     login($re['userid'],$re['user']);//Ö÷Õ˺ŵǼ; g' {& C6 b& l& [
  73.             }
    * r9 r# n2 ^: t2 y* o
  74.             echo uc_user_synlogin($uid);//£Õ£Ãͬ²½µÇ¼2 J# ]* C  Y: W' C+ _  C' a4 H. g) p% n
  75.             $forward = $post['forward']?$post['forward']:$config["weburl"]."/main.php";9 o, Y  {" y# v5 q) o  q
  76.             msg($forward);
    , F7 a, K% B% n& B1 A  U8 B  I% m& `
  77.         }! a1 b0 \9 ~# B  s) R: h
  78.         else
    ' M1 V* A9 R4 b
  79.         {3 {0 E4 O5 b& c5 H+ g
  80.             header("Location: login.php?erry=-1");//Óû§²»´æÔÚ
    * [  J  i3 \' S% P( m7 J+ N
  81.             exit();
    2 Q) F5 f2 p# E3 }0 X6 k
  82.         }$ J- m& D$ K# N& W/ u- D
  83.     }2 e, Z, L, H- f
  84.     else
    . q7 r8 ?4 B! y* A
  85.     {   + a  r' T9 l) f& o
  86.         // no ucenter login
    8 R6 F6 O6 D, q4 u# A  J. c! [5 C; L, m
  87.         $sql="select * from ".ALLUSER." where user='$post[user]'";; c* c8 [% N. z' V8 |  c" E
  88.         $db->query($sql);( y7 {8 U1 \7 }: J" |8 l" J
  89.         $re=$db->fetchRow();9 Z7 y) W2 i- y% b
  90.         if($re["userid"])0 h8 X. i" [+ o$ V- b0 a7 }
  91.         {
    " y' F" E- G- e9 n0 `
  92.             if(substr($re['password'],0,4)=='lock')) }( V7 i/ D1 k: V
  93.                 msg('login.php?erry=-4');//֮ǰʹÓÃÁËÕÒ»ØÃÜÂ빦ÄÜ£¬ÕË»§±»Ëø¶¨
    8 {; ~8 B7 R; E# y0 A
  94.             if($re['password']!=md5($post['password']))
    - u1 o! A: L! S/ r+ s* I2 t) ]; Y
  95.                 msg('login.php?erry=-2');//ÃÜÂë´íÎó
    # F$ S; c1 b& X7 C+ @! s# g
  96.            & |4 }1 ?+ g. n* i0 l
  97.             if($re["password"]==md5($post['password']))+ p! r! s, v* ]5 g9 N5 w, o/ f- o
  98.             {& w! i0 H( J4 F: t  T# E8 Q" }
  99.                 if($re['pid']); z' t8 {, t, K% w) u
  100.                     login($re['pid'],$re['user'],$re['userid']);//×ÓÕ˺ŵǼ
      v* ^" Q0 W& _' [" V
  101.                 else+ U+ v% o% ^2 w  D7 [+ D
  102.                     login($re['userid'],$re['user']);; P) v6 l4 `0 A5 i# D9 M
  103.                    8 o/ |) u# D5 [: @8 o3 l
  104.                 $forward = $post['forward']?$post['forward']:$config["weburl"]."/main.php";, \6 ^8 b& l( \0 C3 C
  105.                 msg($forward);
    % `% \) Q8 F6 D! n" Y
  106.             }
    . P9 q: d6 L+ a; z( `' H2 N
  107.         }
    0 c8 \  g6 j# ]2 `# o( j
  108.         else. F0 J$ |* I9 \/ V3 y0 M
  109.             msg('login.php?erry=-1');//Óû§²»´æÔÚ
    : q  q3 j- H) V  x
  110.     }
    ' w+ j* S6 @5 d. k$ g( [, L6 F! @
  111. }! K, m4 B0 c) s
  112. //========================================================
      ]# |0 @6 J/ S
  113. function login($uid,$username,$pid=NULL)
    / p2 {5 e& s- K6 a& ^
  114. {
      ?! ]: t, s4 K. q! s

  115. % N/ T6 `$ l* k
  116.     global $post,$config;
    ( W8 ]8 O& y# u8 I+ U+ [
  117.     $db=new dba($config['dbhost'],$config['dbuser'],$config['dbpass'],$config['dbname']);0 Z: ]) Z" o5 d8 q- z9 G
  118.    0 _6 f, ?9 ^5 p+ H$ N: k
  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]'";5 W) v+ Q% a: f. q  b
  120.     $db->query($sql);
    0 n; x* A7 z- C$ k! A  z7 y5 A. P
  121.     $re=$db->fetchRow();: `- g: G$ j" E7 @7 Q+ \9 `( [
  122.     if(is_dir("$config[webroot]/t/"))
    " u& Y. S) g7 m5 E8 ^0 C
  123.     {% \6 p9 c7 u9 V# m  C) V
  124.         //=====΢²©°ó¶¨µÇ¼=====
    . l5 _4 W# o( I& u
  125.         if($re)" D6 n% c8 |0 D
  126.         {
    4 I% q' O" {) S% ?7 t$ Z
  127.             include_once 't/application/adapter/account/xauthCookie_account.adp.php';
    1 l2 s# a8 U; x' K
  128.             $xwbAccount = new xauthCookie_account();
    * s+ [( |. M0 x' n' Z( V( v& a; Y
  129.             $xwbAccount->_setLocalToken(null);
    - R0 o0 R$ [4 G: I: U$ W
  130.             $xwbAccount->_setLocalToken( array('uid'=>$uid,'uname'=>$username));* t2 H% t3 @$ s8 o" `
  131.         }
    2 Y9 ~' L) J) U
  132.         //=====================
    ' z1 d5 O& U7 M0 P, p! `
  133.     }$ F2 C' G1 f7 x( n  X* z
  134. 4 r7 Q2 @# r' S: f, d  G5 N
  135.     bsetcookie("USERID","$uid\t$username\t$pid",NULL,"/",$config['baseurl']);7 s. C& ^/ l3 x  m
  136.     setcookie("USER",$username,NULL,"/",$config['baseurl']);2 H( s2 S. y( e1 F, S
  137.     $_SESSION["IFPAY"]=$re['ifpay'];
    7 e& k! Q5 d) I% C7 ^. H
  138.    
    1 Q& z. E7 a' k2 z) q  y0 _' c2 s
  139.     if(time()-$re["lastLoginTime"]>=3600)
    9 d; }7 s& z* C0 w, _4 S: v
  140.     {( X( Y. {% G+ `9 s; P+ O
  141.         include("config/point_config.php");
    0 x& W# ^8 B7 M2 Q' k- H. H
  142.         if($point_config['point']=='1'&&$point_config['every_logo']!='0'). a% u# Z8 e0 L1 M" X
  143.             renew_point('',$point_config['every_logo']);
    * z% w$ U) U4 x9 E# }
  144.     }( {5 D' B; \# g7 o1 O& B
  145.    * w. v9 W' S. I, |
  146.     if(!empty($re["lastLoginTime"])&&empty($re['regtime']))) j  z/ c  @4 l0 L) `- g
  147.     {4 m% X9 _# f( H( j5 L
  148.         $sql="update ".USER." set regtime='".date("Y-m-d H:i:s")."' WHERE userid='$uid'";
    & V7 ~# f: I% g( a1 ^6 u+ C' K, g
  149.         $db->query($sql);
    ; }" d" d$ y5 Q5 E& Z
  150.     }7 N" `6 F3 [- u# O; W5 \" y
  151.     else1 B7 a0 e3 `2 d( r- q/ q
  152.     {
    & S# M+ V3 E8 O
  153.         $sql="update ".ALLUSER." set lastLoginTime='".time()."' WHERE userid='$uid'";/ u/ Y. f# _/ a9 X: D  J
  154.         $db->query($sql);
    $ R( r% e( h8 x. A
  155.     }
    $ K5 I7 g5 M, k5 d2 I2 v; [
  156. }% @8 k# u! X: E4 \$ h& `1 ~- j
  157. //==================================================================================) I, M9 M8 `7 `% [8 x5 p* D
  158. include_once("includes/global.php");
    7 D3 n- _! @6 o7 j( I  I1 b
  159. include_once("includes/smarty_config.php");  _/ Y. Y, f- r3 ]% s1 g
  160. include_once("config/reg_config.php");
    ! c- p% Z+ c" p% S- w1 g. D1 }
  161. $config = array_merge($config,$reg_config);% C) g7 f  t- P+ @! G( S" P4 r  y  M
  162. if(!empty($_GET["user"])&&!empty($_GET["email"]))( i3 {( y% a/ u+ {6 n* w
  163. {4 w7 \. l) v, y7 y
  164.     $sql="select user,userid from ".ALLUSER." where user='$_GET[user]' and email='$_GET[email]'";
    & o% N( T0 M* |
  165.     $db->query($sql);
    1 N( D3 R& [0 K
  166.     $re=$db->fetchRow();
    2 Y( h! o# o8 i' M5 m6 n! @
  167.     if(!empty($re['user']))
    $ Q) S/ c  H1 J* C: z( `8 X
  168.     {) a* M, ^6 n) |( _7 ]
  169.         $sql="update ".USER." set ifpay=2 where userid=$re[userid]";
    9 O; q8 L: T. L7 G! _
  170.         $db->query($sql);. }# C) i; w5 U' G( M
  171.         header("Location:login.php?user_name=$re[user]");& \4 r. ?+ I% u% O. _% `
  172.         exit();
    6 J( |* t5 I. a+ Q( }
  173.     }
      ~! L4 p( `% m
  174. }- H  b* A# Y) J8 g6 V; `
  175. if($buid&&empty($_GET['style']))
    ( \% ]$ k/ T& L5 |  W2 z2 s
  176. {* c1 ~' v2 G! q3 z  g9 j' P
  177.     header("Location:main.php");
    9 v4 |) H3 Q) S
  178.     exit();7 i" ~* Z1 c, u' N) {
  179. }$ Q7 U3 E+ b2 z2 U
  180. , t7 n. J/ B/ r2 r3 o
  181. , i( x$ p( Q1 |0 l9 a
  182. include_once("footer.php");, a$ e7 X' c9 C1 j$ }' F: t
  183. $tpl -> assign("current","office");; \$ X9 u  F" d1 X6 `) O
  184. if(!empty($_GET['style']))
    2 k  f5 }4 T% |. c. o$ R
  185.     $tpl->display("login_box.htm");& u' m/ N& A# K# C& @/ L, n
  186. else
    6 o/ g8 f& k3 o- X3 ?/ ^
  187.     $tpl->display("login.htm");
    $ @( v7 ^/ w) C
  188. ?>
Скопировать код

) B$ T, H' h6 j
9 u* ^0 W! y7 u2 B: q. r. b- l9 {) J/ J; z
Чтобы ответить, вам надо авторизироваться в системе Вход | Регистрация

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

Закрыть

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

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

GMT+2, 25-06-2018 09:57 , Processed in 0.047203 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.1 Licensed

© 2001-2013 Comsenz Inc.

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