会话技术[php设置session和cookie]

会话技术

http 协议无连接,无状态,为了弥补这个不足,所以才有了会话技术

cookie

以 http 协议为基础,服务器端将数据保存在客户端。cookie 所保存的数据不是敏感的数据。例如:密码,用户名…

设置cookie

setcookie(name,value,expire,path,domain,secure,httponly)

参数说明:
expire 以时间原点为起点
path

  • 设置 cookie 的 php 文件在服务器上的路径
  • 所设置的 cookie 位于浏览器显示的路径
  • 如果没有设置 path ,默认这两个路径是一样的

设置 cookie 整站有效

setcookie(name,value,expire,'/');

domain

  • 设置 cookie 跨域,只能垮二级域名
setcookie(name,value,expire,'/',''.news.com');

cookie删除

  1. 设置过期时间
  2. 将cookie的值设置为空

session

以 cookie 为基础,在服务器端,将重要的数据保存到一个文本文件中,同时将这个文件名以 cookie 的形式保存在客户端。
session 的主要作用,就是跨脚本共享数据。

session_start(); 开启session机制

$_SESSION 内存变量
session 文件
我们在代码中只需要操作 $_SESSION 内存变量即可,对于数据保存到 session 文件,或从 session 文件中读取数据,这是由 session 机制自己完成。不需要我们参与。

设置session

$_SESSION['下标']=值

echo $_SESSION[‘下标’];

销毁session

全部销毁

session_destory();

部分销毁:

unset($_SESSION[下标])