項目默認存在的東西: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'); ?>
項目框架展示:
登錄頁面展示:
成功登錄結果展示: