
批改狀態(tài):合格
老師批語:不錯
用戶輸入登錄信息后查詢數(shù)據(jù)庫中是否存在用戶信息,有提示登錄成功。沒有提示用戶名密碼錯誤。
<?php
// 連接數(shù)據(jù)庫
// PDO連接對象
$pdo = new PDO('mysql:host=localhost;dbname=mysqli', 'root', '142536');
// 設置結果默認獲取方式: 關聯(lián)數(shù)組
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>用戶登錄</title>
</head>
<body>
<p>請登錄:</p>
<form
action=""
method="POST"
style="display: grid; gap: 15px;"
onsubmit="return false"
>
<input
type="text"
name="username"
placeholder="用戶名"
required
autofocus
/>
<input type="password" name="password" placeholder="******" required />
<button>提交</button>
</form>
<script>
var form = document.querySelector('form');
var but = document.querySelector('form button');
but.onclick = function(){
//1.創(chuàng)建請求對象
var xhr = new XMLHttpRequest();
//2.監(jiān)聽事件
xhr.onreadystatechange = function()
{
if(xhr.readyState ===4 && xhr.status ===200)
{
console.log(xhr.responseText);
var obj = JSON.parse(xhr.responseText);
var span = document.createElement('span');
span.innerHTML = obj['message'];
console.log(obj);
if(obj['status']==false)
{
span.style.color = 'red';
}
else
{
span.style.color = 'green';
}
form.appendChild(span);
}
}
//3.初始化請求參數(shù)
xhr.open("POST","login.php");
//4.使用FormData來組織數(shù)據(jù)
var data = new FormData(form);
//5.發(fā)送請求
xhr.send(data);
}
</script>
</body>
</html>
<?php
require 'connect.php';
$sql="SELECT * FROM `user` WHERE `username`=? AND `password`=?";
$stmt = $pdo->prepare($sql);
$username = $_POST['username'];
$password = sha1($_POST['password']);
$stmt->execute([$username,$password]);
$user=$stmt->fetch();
$status = 0 ; $message = '郵箱密碼錯誤!';
if($stmt->rowCount()>1)
{
$status = 1 ;
$message = '登錄成功';
}
echo json_encode(['status'=>$status,'message'=>$message]);
示例圖:
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號