abstract:<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title&g
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="dist/css/bootstrap.css">
<script src="jquery-3.3.1.js"></script>
<script src="dist/js/bootstrap.js"></script>
<style>
.content{width: 100%;height:100%;background: #aaa;}
.bg{background: #d4d6d6;}
.btn-content{padding: 300px 0;}
</style>
</head>
<body>
<div class="content">
<div class="container-fluid">
<div class="row">
<div class="col-md-8 col-md-offset-2 bg">
<div class="btn-content">
<button class="btn btn-lg btn-danger center-block" data-toggle="modal" data-target="#login">別點擊登錄</button>
</div>
</div>
</div>
</div>
</div>
<div class="modal fade" id="login">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button class="close" type="button" data-dismiss="modal"><span>x</span></button>
<h3 class="modal-title">用戶登錄</h3>
</div>
<div class="modal-body">
<form action="" class="form-horizontal">
<div class="form-group">
<label for="email" class="col-sm-2 control-label">郵箱:</label>
<div class="col-sm-10">
<input type="text" name="email" id="email" class="form-control">
</div>
</div>
<div class="form-group">
<label for="password" class="col-sm-2 control-label">密碼:</label>
<div class="col-sm-10">
<input type="password" name="password" id="password" class="form-control">
</div>
</div>
</form>
</div>
<div class="modal-footer">
<div class="col-sm-10 col-sm-offset-2">
<span class="msg"></span>
<button class="btn btn-primary btn1">登錄</button>
<button class="btn btn-info" data-dismiss="modal">關閉</button>
</div>
</div>
</div>
</div>
</div>
<script>
var btnDiv = document.getElementsByClassName('btn-content')[0];
var btn = document.getElementsByClassName('btn1')[0];
btnDiv.style.height = document.documentElement.clientHeight+'px';
btnDiv.style.paddingTop = (document.documentElement.clientHeight/2-20)+'px';
btn.onclick = function(){
var xhr = new XMLHttpRequest(); //創(chuàng)建一個xhr對象
//監(jiān)聽響應狀態(tài)
// console.log(xhr);
xhr.onreadystatechange = function () {
if(xhr.readyState == 4){
if(xhr.status == 200){
var spans = document.getElementsByClassName('msg')[0];
spans.style.color = 'red';
var json = JSON.parse(xhr.responseText);
if(json.status == 1){
spans.innerHTML = json.msg;
}else if(json.status == 0){
spans.innerHTML = json.msg;
}
btn.disabled = true; //禁用btn
setTimeout(function () {
btn.disabled = false;//恢復btn
spans.innerHTML = '';
if(json.status === 1){
window.location.href = 'admin.php';
}
},3000);
}else{
alert('響應失敗!'.xhr.status);
}
}
}
//設置請求參數(shù)
xhr.open('post','inc/check.php',true);
//設置頭信息將內(nèi)容類型設置為表單提交方式
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
//發(fā)送請求參數(shù)
var data = {
email :document.getElementsByName('email')[0].value,
password :document.getElementsByName('password')[0].value,
};
var data_json = JSON.stringify(data); //將js對象轉為json字符串(其實就是文本)
//發(fā)送參數(shù)格式化成數(shù)組樣式(依舊是字符串)
xhr.send('data='+data_json);
}
</script>
</body>
</html>
<?php
//登錄驗證;
$user = json_decode($_POST['data']); //將json字符串轉為php對象
$email = $user->email;
$password = sha1($user->password);
$pdo = new PDO('mysql:host=127.0.0.1;dbname=zh','root','root');
//必須通過統(tǒng)計滿足條件記錄數(shù)來確定是否存在該用戶
$sql = "SELECT COUNT(*) FROM `zh_user` WHERE `email`='{$email}' AND `password`='{$password}'";
$stmt = $pdo->prepare($sql);
$stmt->execute();
//判斷是否驗證成功?
if($stmt->fetchColumn(0) == 1){
//返回一個數(shù)組['status'=>1,'msg'=>'登陸成功,正在跳轉...']轉為json字符串
echo json_encode(['status'=>1,'msg'=>'登陸成功,正在跳轉...']);
exit;
}else{
echo json_encode(['status'=>0,'msg'=>'郵箱或密碼錯誤,請重試']);
exit;
}


