亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

AJAX與JSON學(xué)習(xí)實踐

原創(chuàng) 2019-04-21 11:38:24 286
摘要: <!DOCTYPE html> <html> <head> <title>Ajax原理實線</title> <meta charset="utf-8"> </head> <body> <form accept-charset="
<!DOCTYPE html>
<html>
<head>
	<title>Ajax原理實線</title>
	<meta charset="utf-8">
</head>
<body>
	<form accept-charset="utf-8">
		
	<label>郵箱:</label>
	<input type="email" name="email" id="email"><br><br>
	<label>密碼</label>
	<input type="password" name="password" placeholder="" id="password"><br>
	<input type="button" name="" value="提交" id='btn'><br>
	</form>
	<script type="text/javascript">
		// 1.創(chuàng)建Ajax對象
		// let email = document.getElementById("email");
		// let e = email.value
	
		// let password = ;
		// 		console.log(password)
		let btn = document.getElementById("btn");
		btn.onclick= function(){
		let xhr = new XMLHttpRequest();
			

		// 2.啟動監(jiān)聽
		xhr.onreadystatechange = function () {
			if (xhr.readyState=== 4 ){
			  //請求成功需要操作的內(nèi)容
			  if (xhr.status===200) {
			  	// 響應(yīng)成功
			  	let ps = document.createElement('p');
			  	let enjson = JSON.parse(xhr.responseText);   //JSON.parse()方法可以將服務(wù)器發(fā)送過來的JSON格式解析成JS的對象
			  	if (enjson['status']===1) {
			  	ps.innerHTML=enjson['msg'];
			  	}else if (enjson['status']===0){
			  	ps.innerHTML=enjson['msg'];
			  	}
			  	document.body.appendChild(ps);

			  	setTimeout(function(){   //計時器
			  		location.href='admin.php';
			  	}, 2000)

			  }else {
			  	// 響應(yīng)失敗


			  }

			}else{

				// 如果請求在繼續(xù)那么可以輸出一張圖片
			}
			
		}

		let json = {
			email:document.getElementById("email").value,
			password:document.getElementById("password").value
	}

		json = JSON.stringify(json);  //將JS對象轉(zhuǎn)為字符串

		// 3.發(fā)送請求
		xhr.open('post', 'check.php', true);
		xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); //POST要修改請求頭

		xhr.send("data="+json);//手動添加一個鍵,拼接json變量的值,發(fā)送到服務(wù)器

}

	</script>

</body>
</html>
<?php
$data = $_POST['data']; 
$data = json_decode($data);
$email = $data->email;
$password = $data->password;

$dbh = new PDO('mysql:host=127.0.0.1;dbname=php','root','root');

$sql="SELECT `password`,`email`,`name` FROM `user` WHERE `email`=:email AND `password`=:password";

$stmt = $dbh->prepare($sql);
$stmt->bindparam(':password',$password,PDO::PARAM_STR);
$stmt->bindparam(':email',$email,PDO::PARAM_STR);
$stmt->execute();
$user = $stmt->fetch(PDO::FETCH_ASSOC);  //由數(shù)據(jù)返回值,沒有返回false


if ($user) {
	session_start();    //啟動會話
	$_SESSION['username']= $user['name'];  //生成會話標(biāo)識。
	echo json_encode(['status'=>1,'msg'=>'登陸成功正在跳轉(zhuǎn)']);  //json_encode函數(shù)將數(shù)組格式化為JSON格式。
	

}else{
	echo json_encode(['status'=>0,'msg'=>'登陸失敗']);
}


?>


批改老師:天蓬老師批改時間:2019-04-22 10:04:09
老師總結(jié):php誕生時的主要用途, 就是進行服務(wù)器端的表單驗證的, 所有, 從表單驗證來實習(xí), 是一個最佳的辦法, 這里面有很多的有趣的知識點... ajax是從用戶體驗上, 對表單驗證進行處理..., 并不是什么新技術(shù), 只是對已存在的技術(shù)一個優(yōu)化或應(yīng)用范圍的擴展...

發(fā)佈手記

熱門詞條