首页> 基础笔记 >PHP基础学习 >常用功能块 常用功能块

PHP会话控制之Cookie的应用

作者:小萝卜 2019-08-30 浏览 1019

简介PHP会话控制之Cookie的应用,Cookie概述,设置Cookie,setcookie参数解释,读取Cookie,Cookie的数组形态应用,删除Cookie

PHP会话控制之Cookie的应用

Cookie概述

cookie是在http协议下,服务器或脚本可以维护客户端信息的一种方式。

Cookie是一种由服务器发送给客户端的片段信息,存储在客户端浏览器的内存或者硬盘上。常用于保存用户名,密码,个性化设置,个人偏好记录等。当用户访问服务器时,服务器可以设置和访问cookie的信息。

cookie保存在客户端,通常是IE或Firefox浏览器的cookie临时文件夹中,可以手动删除。注意:如果浏览器上cookie太多,超过了系统所允许范围,浏览器也会自动对它进行删除。

设置Cookie

语法:bool setcookie(string name,[string value,[int expire,[string path,[string domain,[int secure]]]]]);

  本cookie函数可以有6个属性,常用的有3个参数。

实例:

//向客户端发送一个Cookie,将变量username值为skygao,保存客户端一周的时间 
setcookie("username", "skygao", time()+60*60*24*7); 
//使用setCookie()函数的全部参数设置 
setcookie("username", "skygao", time()+60*60*24*7, "/test", ".example.com", 1);


setcookie参数解释

参数

描述

示例

name

名字

调用名为cookiename的cookie

value

假设第一个参为cookiename,通过$_COOKIE[‘name’取得值]

exprice

有效时间

设置cookie的过期时间和日期,用一个标准的Unix时间标记,可以用time()函数取得,以秒为单位.

path

范围

服务器端的有效路径,设置为“/”表示这个域中所有数组都可以被访问读取。

domain

域名

设定cookie有效域名

secure

指明cookie只能通过安全的https传送

设为true时只能使用安全的https,默认为false,即设置是否仅在https安全连接时才发送cookie到客户端,0或1。

读取Cookie

如果Cookie设置成功,客户端就拥有了Cookie文件,用来保存Web服务器为其设置的用户信息。 在PHP中读取Cookie信息很简单,使用超全局数组$_COOKIE[‘cookie名’]即可获取cookie中的内容。

代码实例:

<?php 
    //输出Cookie中保存的所有用户信息 
    print_r($_COOKIE); 


Cookie的数组形态应用

数组也可以利用多维数组的形式,将多个内容值存储在相同Cookie名称标识符下。

代码实例;

<?php 
  setcookie("user[username]", "skygao");            //$_COOKIE["user"]["username"] 
  setcookie("user[password]", md5("123456"));   //$_COOKIE["user"]["password"] 
  setcookie("user[email]", "skyga@lampbrother.net");//$_COOKIE["user"]["email"] 

  //遍历$_COOKIE[“user”]数组
   foreach($_COOKIE["user"] as $key => $value){ 
      //输出Cookie数组中二维的键值对 
      echo $key.":".$value."\n";
   }


删除Cookie

有2种方式删除Cookie

1.省略setcookie()函数的所有参数列

2.设置cookie为已过期

代码实例:
<?php 
       //只指定Cookie识别名称一个参数,即删除客户端中这个指定名称的Cookie资料   
       setCookie("account");                     //第一种方法 

       //设置Cookie 在当前时间过期,因此系统会自动删除识别名称为isLogin的Cookie 
       setCookie("isLogin", "" , time()-1);  //第二种方法 

 

很赞哦! (0)

文章评论

    高端网站建设