菜鸟教程:Cookie(https://www.runoob.com/php/php-cookies.html)
? ? ? ? ? ? ? ? ? Session(https://www.runoob.com/php/php-sessions.html)
目录
Session和Cookie异同
Session
开启和设置session?
访问session
销毁session
Cookie
设置和建立cookie
使用cookie
注销cookie
Session和Cookie异同
相同点:
- 用来实现页面之间的数据共享
- 不能跨浏览器访问同一session或cookie
不同点:
- cookie数据存储在用户的浏览器上,session的数据存放在服务器上
- Cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session
- Session会在一定的时间内保存在服务器上,当访问增多,会比较占用服务器的性能,考虑到减轻服务器性能方面,应当使用cookie
- 单个cookie在客户端是有限制的,就是说一个站点在客户端存放的cookie不能超过一定的数量
可以考虑将登陆等重要的信息存放在session中,其他的信息如果需要保留,可以存放在cookie中
Session
- 使用过程:开启session、设置session、访问session、销毁session
- 生命周期:浏览器关闭时就会结束
- 页面书共享:使用session也必须要开启session,那个页面要使用session,就必须先开启session
开启和设置session?
// session_set.php文件
<?php
header("Content-type:text/html;charset='UTF-8'");
session_start(); // 创建session,开启session回话
$_SESSION['username'] = '宝玉'; // 设置session,创建session数据,$_SESSION是一个数组对象,用来存储session数据
// echo '设置session成功!';
// echo PHP_EOL,'打印session_id:'.session_id();
echo '<script>window.location.href = "./index.php";</script>';
?>
访问session
// index.php文件
<?php session_start(); ?>
<!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>首页——<?php echo @$_SESSION['username']; ?>的个人博客</title>
</head>
<body>
<p>欢迎<span style="color: red;font-weight: bold;"><?php echo @$_SESSION['username']; ?></span>的到来!!!</p>
<a href="./session_des.php">注销</a>
</body>
</html>
销毁session
// session_des.php文件
<?php
session_start(); // 开启session回话机制
session_unset(); // 注销session
session_destroy(); // 销毁session
echo '<script>alert("已注销");window.location.href = "http://www.baidu.com";</script>';
?>
Cookie
- 使用过程:设置cookie、使用cookie、注销cookie
- 生命周期:可以根据需求自己设置,如果在生命周期之内,关闭浏览器之后还可以访问
设置和建立cookie
setcookie(name,?value,?expire,?path,?domain);参数说明:https://www.runoob.com/php/func-http-setcookie.html
// cookie_set.php 文件
<?php
setcookie('username','宝玉',time()+20);
echo '<script>window.location.href = "./cookie_use.php";</script>';
?>
?
使用cookie
// cookie_use.php 文件
<!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><?php echo @$_COOKIE['username']; ?>:门户网站</title>
</head>
<body>
<h1>欢迎进入<span style="color: red;font-weight: bold;"><?php echo @$_COOKIE['username']; ?></span>的首页</h1>
<a href="./cookie_del.php">注销cookie</a>
</body>
</html>
注销cookie
// cookie_del.php 文件
<?php
// 注销cookie
setcookie('username','',time()-1);
echo '<script>window.location.href = "./login.html";</script>';
?>
|