4.part4-2day php cookie和session

一、cookie

1.cookie是什么?

cookie是一种在客户浏览器端存储数据并以此来追踪和识别用户的机制,简单来说,cookie是WEB服务器暂时存储再用户硬盘上上的一个文件,并随后被web浏览器读取。

cookie中不能存大量的数据和敏感未加密的数据,否则会带来安全问题。

2.如何创建、读取、删除cookie

setcookie(name, value, expire, path, domin);

<?php
    //创建cookie
    $expire = time() + 60 * 60 * 24 * 30; //有效期为一个月
    setcookie('user', 'tom', $expire);
 
    //读取cookie
    echo $_COOKIE['user'];
 
    //删除cookie 设置cookie的有效期为过去时间即可
    $delExpire = time() - 1;
    setcookie('user', 'tom', $delExpire);
?>

3.cookie的生命周期

如果不设置失效时间,浏览器关闭cookie就会消失

如果设置了失效时间,超过时间会自动消失。

4.要想再cookie中暂存数组之类的数据就要用到序列化和反序列化

<?php
    serialize();  //序列化存值
    unserialize(); //反序列化取值
?>

二、session

1.什么是session?

session会话是存储在服务端的,相对安全,可用于存储信息量相对较少且存储时间不长的数据。在实际应用中session用与存储登陆信息,这样就只需要登陆一次,就可以访问其他的页面

当启动session会话时,会生成一个随机且唯一的session_id,也就是session文件名,此时session_id会存在服务器的内存中。当关闭页面时此id会自动注销,重新登陆此页面,会再次生成一个随机且唯一的id

session会存储在cookie里默认的cookie名为PHPSESSION,值为对应的session_id,本地xampp的tmp里会又一个名为sess_加上对应的session_id的文件,里面是我们存储的信息,所以在使用session时客户端不能禁止cookie

2.创建、读取、删除会话,前提是必须先启动会话

<?php
    //启动会话
    session_star();
 
    //创建session
    $_SESSION['name'] = 'tom';
 
    //设置session时间
    $expire = time() * 60; //1分钟失效
    setcookie('PHPSESSION', 'session_id', $expire);
    //读取session
    echo $_session['name'];
 
    //删除某一个session
    unset($_SESSION['name']);
     
    //彻底删除session,重置session,将会失去所有已经存储的session数据
    session_destroy();
?>
原文地址:https://www.cnblogs.com/ldwtry/p/12185580.html