PHP——cookie与session

菜鸟教程: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


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

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>';
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值