服务器端存储数据:
(1)数据库技术:适用于项目中大量业务逻辑数据
(2)Session技术:把客户端的特有数据存储在服务器内存中,安全级别高。客户端只有一个唯一的不可被仿冒的ID号,服务器端根据此ID号在自己的内存中为该客户端分配出一块专用的空间。
客户端存储数据:
(1)Cookie:适用于少量的客户端特有的数据,操作繁琐
(2)WebStorage:适用于8MB以内的客户端特有的数据,操作简单
---不能用来存储用户名,密码,用户id等数据(可用Session)
·localStrorage:数据存储在客户端磁盘中,安全级别低
·sessionStorage:数据存储在客户端内存中,安全级别低
(3)IndexedDB:适用于大量的存储在客户端的数据
案列:使用Session技术存储用户名,密码,用户id
index.php
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
.head-bar {
text-align: right;
}
</style>
</head>
<body>
<div class="head-bar">
<?php
session_start();
if(@$_SESSION['LoginName']){
echo "欢迎回来:".$_SESSION['LoginName'];
echo "<a href='logout.do.php'>注销</a>";
}else {
echo "<a href='login.php'>登录</a>";
}
?>
</div>
<hr>
<h3>首页</h3>
</body>
</html>
login.php
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
</style>
</head>
<body>
<h3>登录</h3>
<form action="login.do.php">
用户名:<input name="uname"><br>
密码名:<input name="upwd"><br>
<input type="submit">
</form>
</body>
</html>
login-do.php
<?php
$n = $_REQUEST['uname'];
$p = $_REQUEST['upwd'];
//到数据库中执行用户名和密码验证,假设验证通过
session_start(); //启用当前客户端对应的Session空间
$_SESSION['LoginName'] = $n; //往当前客户端对应的Session空间中存储数据
$_SESSION['LoginUid'] = 888; //往当前客户端对应的Session空间中存储数据
$_SESSION['LoginPwd'] = $p; //往当前客户端对应的Session空间中存储数据
?>
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
</style>
</head>
<body>
<h3>登录成功!</h3>
<p>3秒钟将会跳转回首页....</p>
<script>
setTimeout(function(){
location.href = 'index.php'
},3000);
</script>
</body>
</html>
logout-do.php
<?php
session_start();
//销毁当前客户端对应的Session空间
session_destroy();
?>
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
</style>
</head>
<body>
<h3>注销成功!</h3>
<p>3秒钟将会跳转回首页....</p>
<script>
setTimeout(function(){
location.href = 'index.php'
},3000);
</script>
</body>
</html>