前端登陆案例php
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>login</h1>
<button><a href="./login.html">go to login</a></button>
</body>
</html>
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="">
<h3 style="display:none;">login failed</h3>
username: <input type="text" name="username" autocomplete="off"><br>
password: <input type="text" name="password" autocomplete="off"><br>
<button>submitf</button>
</form>
<script>
const username=document.querySelector('input[name=username]')
const password=document.querySelector('input[name=password]')
const form=document.querySelector('form')
const h3=document.querySelector('h3')
form.addEventListener('submit',e=>{
e.preventDefault()
if(!username.value || !password.value) return alert('form incomplete')
const xhr=new XMLHttpRequest()
xhr.open('POST','./login.php')
xhr.onload=function(){
const {message,code}=JSON.parse(xhr.responseText)
console.log(message,code)
if(code===0){
window.location.href='./index.html'
}else if(code!==0){
h3.style.display='block'
}
}
xhr.setRequestHeader('content-type','application/x-www-form-urlencoded')
xhr.send(`username=${username.value}&password=${password.value}`)
})
</script>
</body>
</html>
login.php
<?php
$username=$_POST['username'];
$password=$_POST['password'];
$link=mysqli_connect('localhost','root','cruces','abate');
$sql="select * from users where username='$username' and password='$password'";
$result=mysqli_query($link,$sql);
$data=mysqli_fetch_all($result);
if(count($data)){
session_start();
// $_SESSION['login']=1;
// $_SESSION['username']=$data[0]['username'];
$arr=array(
"message"=>"success",
"code"=>0
);
}else{
$arr=array(
"message"=>"failed",
"code"=>1
);
}
echo json_encode($arr);
?>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律