最新消息: 新版网站上线了!!!

PHP+Ajax无刷新登录与退出


  1. $(".btn").live('click',function(){   
  2.     var user = $("#user").val();   
  3.     var pass = $("#pass").val();   
  4.     if(user==""){   
  5.         $('<div id="msg" />').html("用户名不能为空!").appendTo('.sub').fadeOut(2000);   
  6.         $("#user").focus();   
  7.         return false;   
  8.     }   
  9.     if(pass==""){   
  10.         $('<div id="msg" />').html("密码不能为空!").appendTo('.sub').fadeOut(2000);   
  11.         $("#pass").focus();   
  12.         return false;   
  13.     }   
  14.     $.ajax({   
  15.         type: "POST",   
  16.         url: "ajax.php?action=login",   
  17.         dataType: "json",   
  18.         data: {"user":user,"pass":pass},   
  19.         beforeSend: function(){   
  20.             $('<div id="msg" />').addClass("loading").html("正在登录...").css("color","#999")   
  21.  .appendTo('.sub');   
  22.         },   
  23.         success: function(json){   
  24.             if(json.success==1){   
  25.                 $("#login_form").remove();   
  26.                 var div = "<div id='result'><p><strong>"+json.user+"</strong>,恭喜您登录成功!</p>   
  27.                 <p>您这是第<span>"+json.login_counts+"</span>次登录本站。</p>   
  28.                 <p>上次登录本站的时间是:<span>"+json.login_time+"</span></p><p>   
  29.                 <a href='#' id='logout'>【退出】</a></p></div>";   
  30.                 $("#login").append(div);   
  31.             }else{   
  32.                 $("#msg").remove();   
  33.                 $('<div id="errmsg" />').html(json.msg).css("color","#999").appendTo('.sub')   
  34.  .fadeOut(2000);   
  35.                 return false;   
  36.             }   
  37.         }   
  38.     });   
  39.  }); 

程序代码
 

  1. session_start();   
  2. require_once ('connect.php');   
  3.    
  4. $action = $_GET['action'];   
  5.  if ($action == 'login') {  //登录   
  6.     $user = stripslashes(trim($_POST['user']));   
  7.     $pass = stripslashes(trim($_POST['pass']));   
  8.     if (emptyempty ($user)) {   
  9.         echo '用户名不能为空';   
  10.         exit;   
  11.     }   
  12.     if (emptyempty ($pass)) {   
  13.         echo '密码不能为空';   
  14.         exit;   
  15.     }   
  16.     $md5pass = md5($pass); //密码使用md5加密   
  17.     $query = mysql_query("select * from user where username='$user'");   
  18.    
  19.     $us = is_array($row = mysql_fetch_array($query));   
  20.    
  21.     $ps = $us ? $md5pass == $row['password'] : FALSE;   
  22.     if ($ps) {   
  23.         $counts = $row['login_counts'] + 1;   
  24.         $_SESSION['user'] = $row['username'];   
  25.         $_SESSION['login_time'] = $row['login_time'];   
  26.         $_SESSION['login_counts'] = $counts;   
  27.         $ip = get_client_ip(); //获取登录IP   
  28.         $logintime = mktime();   
  29.         $rs = mysql_query("update user set login_time='$logintime',login_ip='$ip',   
  30. login_counts='$counts'");   
  31.         if ($rs) {   
  32.             $arr['success'] = 1;   
  33.             $arr['msg'] = '登录成功!';   
  34.             $arr['user'] = $_SESSION['user'];   
  35.             $arr['login_time'] = date('Y-m-d H:i:s',$_SESSION['login_time']);   
  36.             $arr['login_counts'] = $_SESSION['login_counts'];   
  37.         } else {   
  38.             $arr['success'] = 0;   
  39.             $arr['msg'] = '登录失败';   
  40.         }   
  41.     } else {   
  42.         $arr['success'] = 0;   
  43.         $arr['msg'] = '用户名或密码错误!';   
  44.     }   
  45.     echo json_encode($arr); //输出json数据   
  46.  }   
  47. elseif ($action == 'logout') {  //退出   
  48.     unset($_SESSION);   
  49.     session_destroy();   
  50.     echo '1';   
  51.  } 

 

转载请注明:谷谷点程序 » PHP+Ajax无刷新登录与退出