
批改狀態(tài):合格
老師批語:
1.設(shè)置cookie值:setcookie("name","value",time()+時間,"路徑","域名");
2.讀取:$_COOKIE["name"]
中的值
3.關(guān)閉(銷毀會話):通過過設(shè)置過期時間來setcookie("name","value",time()-時間,"路徑","域名");
1.開啟會話:session_start();
2.把信息寫入SESSION中:$_SESSION["key"]="value";
3.讀取SESSION的中的值$_SESSION["key"]
4.關(guān)閉(銷毀)會話
unset($_SESSION["key"]);
session_unset();
session_destroy();
<?php
// echo json_encode($_POST);
session_start();//開啟會話
// echo json_encode($_GET["active"]);
include('connection.php');//連接數(shù)據(jù)庫
$active=$_GET["active"];//獲取操作方式(登陸?注冊?退出)
// 判斷并執(zhí)行
if($active=="register"){
$sql="insert users (username,email,password) values (?,?,?);";
$stmt=$pdo->prepare($sql);
$stmt->execute([$_POST["username"],$_POST['email'],$_POST["password"]]);
// $stmt->debugDumpParams();
if($stmt->rowCount()>0){
$_SESSION['name']=$_POST["username"];
$_SESSION["username"]=$_POST['email'];
$_SESSION["password"]=$_POST['password'];
echo json_encode([$pdo->lastInsertId(),"注冊成功"]);
}else{
echo json_encode([0,"注冊失敗"]);
}
}elseif($active=="login"){
$sql="select username,email,password from users where email=?";
$stmt=$pdo->prepare($sql);
$stmt->execute([$_POST["email"]]);
$res=$stmt->fetch();
if($res['email']==$_POST["email"]&&$res["password"]==$_POST["password"]){
$_SESSION["name"]=$res['username'];
$_SESSION["username"]=$_POST['email'];
$_SESSION["password"]=$_POST['password'];
echo json_encode([$res["username"],"登陸成功"]);
}else{
echo json_encode([0,"登陸失敗"]);
}
}elseif($active=="logout"){
// session_destroy();
unset($_SESSION["username"]);
exit('<script>alert("你已經(jīng)退出!"); window.location.href="home.php";</script>');
}else{
echo "非法操作";
}
1.登陸
<?php
session_start();
$username=$_SESSION["username"];
if($username){
exit('<script>alert("你已經(jīng)登陸!"); window.location.href="home.php";</script>');
}
?>
<!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">
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<title>登陸</title>
</head>
<style>
* {
margin: 0;
padding: 0;
}
form {
width: 400px;
margin: 0 auto;
display: flex;
flex-flow: column nowrap;
align-items: center;
}
form * {
width: 360px;
height: 28px;
margin-top: 5px;
}
</style>
<body>
<form action="" method="post" name="login">
<h3>用戶登陸</h3>
<input type="email" name="email" placeholder="請輸入郵箱賬號">
<input type="password" name="pwd" placeholder="請輸入密碼">
<button type="button">登陸</button>
<div class="tips"></div>
</form>
</body>
<script>
$("[type='button']").click(function() {
email = $("[name='email']").val().trim();
pwd = $("[name='pwd']").val().trim();
if (email.length > 0) {
if (pwd.length > 0) {
$.ajax({
type:'POST',
url:'http://php.edu/test/handle.php?active=login',
data:{
"email":email,
"password":pwd
},
dataType:"json",
success:function(res){
if(res[0]) {
$('.tips').append("<span>登陸成功,跳轉(zhuǎn)中……</span>");
setTimeout(() => {
window.location.href="home.php";
}, 1000);
}else{
alert("賬號密碼錯誤?。。?);
$('input').val('');
}
}
});
} else {
alert("密碼不能為空");
return false;
}
} else {
alert("郵箱不能為空");
return false;
}
})
</script>
</html>
2.注冊
<!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">
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<title>注冊</title>
</head>
<style>
* {
margin: 0;
padding: 0;
}
form {
width: 400px;
margin: 0 auto;
display: flex;
flex-flow: column nowrap;
align-items: center;
}
form * {
width: 360px;
height: 28px;
margin-top: 5px;
}
</style>
<body>
<form action="" method="post" name="register">
<h3>用戶注冊</h3>
<input type="text" name="username" placeholder="用戶名">
<input type="email" name="email" placeholder="XXXX@163.com">
<input type="password" name="pwd1" placeholder="不少于6位">
<input type="password" name="pwd2" placeholder="再次確認密碼">
<button type="button">注冊</button>
<div class="tips"></div>
</form>
</body>
<script>
$("[type='button']").click(function() {
username = $("[name='username']").val().trim();
email = $("[name='email']").val().trim();
pwd1 = $("[name='pwd1']").val().trim();
pwd2 = $("[name='pwd2']").val().trim();
console.log(pwd1,pwd2);
if (username.length > 0) {
if (email.length > 0) {
if (pwd1 == pwd2 && pwd1.length > 0) {
$.ajax({
type:'POST',
url:'http://php.edu/test/handle.php?active=register',
data:{
"username":username,
"email":email,
"password":pwd1
},
dataType:"json",
success:function(res){
if(res[0]) {
$('.tips').append("<span>登陸成功,跳轉(zhuǎn)中……</span>");
setTimeout(() => {
window.location.href="home.php";
}, 1000);
}else{
alert("注冊失?。。。≌堉刈?);
$('input').val('');
}
}
});
} else {
alert("密碼不能為空,且兩密碼必須一致");
return false;
}
} else {
alert("郵箱不能為空");
return false;
}
} else {
alert("用戶名不能為空");
return false;
}
})
</script>
</html>
<?php
session_start();
$user=$_SESSION["username"];
?>
<!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>首頁</title>
</head>
<style>
*{
margin:0;
padding:0;
}
header{
height:40px;
background-color:lightgray;
display:flex;
justify-content: space-between;
padding:0 20px;
align-items:center;
}
header a {
text-decoration: none;
color:black;
}
</style>
<body>
<header>
<a href="<?= $_SERVER["SCRIPT_NAME"] ?>">首頁</a>
<div>
<?php if($user): ?>
<a href=""><?= $user?></a>
<a href="http://php.edu/test/handle.php?active=logout">退出</a>
<?php else:?>
<a href="http://php.edu/test/login.php">登陸</a>
<a href="http://php.edu/test/register.php">注冊</a>
<?php endif ?>
</div>
</header>
<?php
include 'index.php';
?>
</body>
</html>
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號