php之登錄功能實現。


 

項目默認存在的東西:jquery庫[jquery.min.js]

 

登錄功能實現的基本邏輯:

1.書寫前台php功能基本頁面:(index.php)

  a.編寫基本功能,比如用戶名、密碼、登錄

  b.引用jquery庫[jquery.min.js]和頁面用到的js[my.js]

     注意:引用要放在<body最后>而且要先引用jquery庫再引用my.js

2.書寫js提交頁面,主要包括要提交的內容(my.js)

  a.點擊登錄按鈕后對提交內容進行封裝,采用ajax提交

3.對提交的js需求進行判斷(login.js進行判斷)

  a.連接數據庫配置文件 conn.php[其中包括數據庫名密碼路徑等]

  b.判斷前台提交的用戶名和密碼是否正確

  c.返回查詢結果

4.前台頁面顯示執行的結果

   a.用戶名或密碼錯誤

   b.不允許為空等

   c.成功跳轉。

 

 

實際項目例子:

1.前台php功能頁面:index.php

 

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="login">
      <h3>用戶登錄</h3>
    
      <div id="login_form">
          <p><label>用戶名:</label> <input type="text" class="input" name="user" id="user" /></p>
          <p><label>密 碼:</label> <input type="password" class="input" name="pass" id="pass" />
</p>
          <div class="sub">
              <input type="submit" class="btn" value="登 錄" />
          </div>
      </div>
   
</div>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/my.js"></script>
</body>
</html>

2.書寫獲取的信息並且進行封裝提交 my.js[此處只以登錄為例]

(function($) {  $(".btn").on('click',function(){     

var user = $("#user").val();     

var pass = $("#pass").val();    

  if(user==""){         

  $('<div id="msg" />').html("用戶名不能為空!").appendTo('.sub').fadeOut(2000);         

  $("#user").focus();        

  return false;    

  }    

  if(pass==""){       

   $('<div id="msg" />').html("密碼不能為空!").appendTo('.sub').fadeOut(2000);         

   $("#pass").focus();       

   return false;    

  }     

   $.ajax({         

    type: "POST",         

    url: "login.php?action=login",         

    dataType: "json",         

    data: {"user":user,"pass":pass},         

    beforeSend: function(){             

    $('<div id="msg" />').addClass("loading").html("正在登錄...").css("color","#999")  .appendTo('.sub');         

 },         

   success: function(json){            

    if(json.success==1){                

    $("#login_form").remove();               

     var div =   "<div id='result'><p><strong>"                         

      + "</strong> 恭喜您登錄成功!</p> "

        </div>"                                    

     $("#login").append(div);             

      }else{                 

     $("#msg").remove();                

     $('<div id="errmsg" />').html(json.msg).css("color","#999").appendTo('.sub')  .fadeOut(2000);                

     return false;            

       }        

    }     

  });  

 });

})(jQuery);

3.對my.js提交的用戶名和密碼進行檢查,返回相應結果(login.php)

<?php
session_start();
require_once ('conn.php');
 
$action = $_GET['action'];
if ($action == 'login') {  //登錄
    $user = stripslashes(trim($_POST['user']));
    $pass = stripslashes(trim($_POST['pass']));
    if (empty ($user)) {
        echo '用戶名不能為空';
        exit;
    }
    if (empty ($pass)) {
        echo '密碼不能為空';
        exit;
    }
   
    $query = mysql_query("select * from user where userId='$user'");
 
    $us = is_array($row = mysql_fetch_array($query));
 
    //$ps = $us ? $md5pass == $row['password'] : FALSE;
   
    $ps = $us ? $pass == $row['userpwd'] : FALSE;
    $arr['row'] = $row;
    if ($ps) {
  $rs = true;
        if ($rs) {
            $arr['success'] = 1;
            $arr['msg'] = '登錄成功!';
            $arr['user'] = $_SESSION['user'];
            $arr['login_time'] = date('Y-m-d H:i:s',$_SESSION['login_time']);
            $arr['login_counts'] = $_SESSION['login_counts'];
        } else {
            $arr['success'] = 0;
            $arr['msg'] = '登錄失敗';
        }
    } else {
        $arr['success'] = 0;
        $arr['msg'] = '用戶名或密碼錯誤!';
    }
    echo json_encode($arr); //輸出json數據
}
elseif ($action == 'logout') {  //退出
    unset($_SESSION);
    session_destroy();
    echo '1';
}

4.conn.php

<?php

/* 數據庫的配置*/

$server_name = $_SERVER['HTTP_HOST'];

error_reporting(E_ERROR);

define('DB_HOST', 'localhost');

define('DB_USER', 'root');

define('DB_CHARSET', 'utf-8');

define('DB_NAME', 'test');

$server_name = 'localhost/Test';

define('DB_PWD', '1234');

$db = mysql_connect(DB_HOST, DB_USER, DB_PWD) or die ("數據庫連接錯誤: ".mysql.error());

mysql_select_db(DB_NAME, $db);

mysql_set_charset(DB_CHARSET,$db);

mysql_query('set names utf8'); ?>

 項目框架展示:

登錄頁面展示:

成功登錄結果展示:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM