PHP cookie与session

摘要:PHP学习笔记(三)

一、cookie

Cookie是用来将网站的资料记录在客户端的技术,这种技术让Wleb服务器能将一些资料,存放于客户端(用户的电脑)之中。
比如:当通过验证,成功登录网站后,在”网页一“的PHP脚本中,会把这个用户
有关的信息,设置到客户端电脑的Cookie中,当再次访问同一个网站中的其他脚本时,就会自动携带Cookie中的数据一起访问,在服务器中的每个脚本中都可以接受Cookie中的数据,不需要每访问一个页面就重新输入一次登录者的信息。

  1. 向客户端电脑中设置Cockie
    PHP中setcookie() 函数用于设置 cookie。
1
2
//语法
setcookie(name, value, expire, path, domain);

在这里插入图片描述
如:

1
2
3
<?php
setcookie('name','zhangsan",time()+60*60);
?>
  1. 在服务器端上读取Cookie的内容
    PHP 的 $_COOKIE 变量用于取回 cookie 的值。
    1
    2
    3
    4
    5
    6
    <?php
    // 输出 cookie 值
    echo $_COOKIE["user"];
    // 查看所有 cookie
    print_r($_COOKIE);
    ?>
  2. 多维数组应用于Cookie中
1
2
3
4
<?php
setcookie("member[name]",'zhangsan',time()+60*60)
setcookie("member[email]",'666666@qq.com',time()+60*60);
?>
  1. 删除Cookie
1
2
3
4
<?php
// 设置 cookie 过期时间为过去 1 小时
setcookie("member",time()-3600);
?>

二、session

您在计算机上操作某个应用程序时,您打开它,做些更改,然后关闭它。这很像一次对话(Session)。计算机知道您是谁。它清楚您在何时打开和关闭应用程序。然而,在因特网上问题出现了:由于HTTP 地址无法保持状态,Web 服务器并不知道您是谁以及您做了什么。
PHP session 解决了这个问题,它通过在服务器上存储用户信息以便随后使用(比如用户名称、购买商品等)。然而,会话信息是临时的,在用户离开网站后将被删除。如果您需要永久存储信息,可以把数据存储在数据库中。

Session 的工作机制是:为每个访客创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie中,或者通过 URL 进行传导。

  1. 开启session
1
2
3
<?php
session_start(); //弃启一个会话,或者返回已经存在的会话
?>;
  1. 使用session存储数据
1
2
3
4
5
<?php
session_start();
$_SESSION['username']='zhangsan';
$_SESSION['email']='666666@qq.com';
?>;
  1. 注销变量与销毁session
    删除某些 session 数据,可以使用 unset()session_destroy() 函数。

实例1:

1
2
3
4
5
6
7
<?php
session_start();//打开要销毁的会话!
if(isset($_SESSION['views']))
{
unset($_SESSION['views']);//Free all session variables
}
?>

实例2:

1
2
3
<?php
session_destroy();//销毁一个会话中的全部数据
?>

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!