文章目录
  1. 1. cookie
    1. 1.1. cookie定义
    2. 1.2. cookie的使用
  2. 2. session
    1. 2.1. session定义
    2. 2.2. session的使用
  3. 3. cookie与session之间的联系

cookie定义

用户访问网络,服务器给当前客户机上创建的一个临时文件用来保存用户信息,以便用户下次继续访问该网络时,网站服务器能识别用户身份,常见cookie用来保存用户界面,用户id等资源。

cookie的使用

1.创建cookie:当前页面设置cookie不是立即生效,等下一个页面才能看到。

1
2
3
4
5
6
setcookie('name','mary',time()+24*60*60) //一天
cookie名称 cookie值 有效时间
应用:
if($_POST['name']&&$_POST['password']){
setcookie('name','mary',time()+24*60*60);
}

设置有效时间,cookie会保存在硬盘里,不设置,则保存在内存里,用户关掉页面就消失了。
cookie是http协议头的一部分,用于浏览器和服务器之间传递信息,cookie是通过http报头发送的。

2.接受cookie

1
2
3
if(isset($_COOKIE('name'))){
echo $_COOKIE('name');
}

3.删除cookie

1
setcookie('name','',time()-1);

如何利用实现自动登录:
当用户在某个网站注册后,就会收到一个惟一用户ID的cookie。客户后来重新连接时,这个用户ID会自动返回,服务器对它进行检查,确定它是否为注册用户且选择了自动登录,从而使用户务需给出明确的用户名和密码,就可以访问服务器上的资源。

session

session定义

服务器机制,使用类似散列表的结构来保存信息,php会给每一个访问用户创建一个session id,该id唯一,它的存放有三种方式:
· url传递:安全性差
· 保存在客户端的cookie中:php会话机制通过设置cookie,在cookie中保存会话id(session id),在服务器会生成session文件,与用户关联。
· 保存在数据库中:安全,但是效率下降。

session的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
启动session:
session_start() //必须放在文件最前面

创建session:
$_SESSION['name'] = "hello";
$_SESSION['arr'] = array("name"=>"hello","type"=>"web");
echo $_SESSION['name'];

删除session:
unset($_SESSION['name']);

清空用户所有的session信息:
session_destroy();

当程序为某个用户创建一个session,服务器首先检查客户端请求是够包含session标识(session id),若有,则服务器按照session id把session检索出来使用;若无,则服务器创建一个session并且生成一个与此相关联的session id,这个session id将在本次响应中返回给客户端保存。

cookie与session之间的联系

具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。同时我们也看到,由于才服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的,但实际上还有其他选择.

文章目录
  1. 1. cookie
    1. 1.1. cookie定义
    2. 1.2. cookie的使用
  2. 2. session
    1. 2.1. session定义
    2. 2.2. session的使用
  3. 3. cookie与session之间的联系