在非常多时候,我们需要跟踪浏览者在整个网站的活动,对他们身份进行自动或半自动的识别(也就是平时常说的网站登陆之类的功能),这时候,我们常采用  Cookie与 Session 来跟踪和判断。

Session信息是存放在server 端,但 session id是存放在 client cookie 的,当然  php的session 存放方法是多样化的,这样就算禁用  cookie一样可以跟踪Cookie是完全保持在客户端的如:  IE firefox 当客户端禁止cookie时将不能再使用

2、Cookie 的配置与应用

Setcookie(string name , string value, int expire,string path, string domain, int secure);

其中 name是 cookie 变量名称标识,你在 php中将能象使用普通变量名相同来用他引用  cookie变量。value 是cookie 变量的初始值,  expire 表示该cookie 变量的有效时间; path 为该 cookie 变量的相关路径; domain 表示 cookie 变量的网站; secure 则需在 https  的安全传输时才有效。

、Cookie 的配置与应用

接收和处理  Cookie

PHP对 Cookie  的接收和处理的支持非常好,是完全自动的,跟  FORM 变量的原则一样,特别简单。

比如设置一个名为  MyCookier 的Cookie  ,PHP 会自动从  WEB服务器接收的 HTTP 头里把它分析出来,并形成一个与普通变量一样的变量,名为  $ myCookie,这个变量的值就是 Cookie 的值。数组同样适用。另外一个办法是引用  PHP 的全局变量$HTTP_COOKIE_VARS 数组。

分别举例如下:(假设这些都在以前的页面里设置过了,并且仍然有效)

echo $MyCookie;

echo $CookieArray[0];

echo $_COOKIE["MyCookie"];

echo $HTTP_COOKIE_VARS["MyCookie"];

删除  Cookie

要删除一个已经存在的  Cookie ,有两个办法:

1 、 SetCookie("Cookie", "");

2 、 SetCookie("Cookie", "value" , time()-1 / time() );

使用  Cookie的限制

1 、必须在 HTML 文件的内容输出之前设置;

2 、不同的浏览器对 Cookie的处理不一致,且有时会出现错误的结果。

3 、限制是在客户端的。一个浏览器能创建的  Cookie 数量最多为30 个,并且每个不能超过  4KB ,每个WEB  站点能设置的  Cookie总数不能超过 20 个。

、Session 的配置与应用

session_start ();                    //  初始化 session. 需在文件头部

$_SESSION [name ]=value;  //  配置Seeeion

echo $_SESSION[ name ];    // 使用 session

isset( $_SESSION[ name ]);   //  判断

unset( $_SESSION[ name ]);   // 删除

session_destroy () ;         // 消耗所有 session

注意:  session_register() , session_unregister , session_is_registered 在 php5 下不再使用

PHP中Cookie与 Session的更多相关文章

  1. flask中cookie和session介绍

    flask中cookie和session介绍 一.cookie: 在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.co ...

  2. 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂

    浅谈JS中的!=.== .!==.===的用法和区别   var num = 1;     var str = '1';     var test = 1;     test == num  //tr ...

  3. thinkphp中cookie和session中操作数组的方法

    thinkphp中cookie和session中操作数组的方法 一.ThinkPHP模板中如何操作session,以及如果session中保存的是数组的情况 在ThinkPHP的模板中操作sessio ...

  4. flask中cookie和session设置

    flask中cookie和session介绍   一.cookie: 在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户. ...

  5. PHP中Cookie与Session的异同以及使用

    Cookie与Session的异同: 一.cookie机制 Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器.IETF RFC 2965 HTTP State Mana ...

  6. 关于缓存中Cookie,Session,Cache的使用

    文章来源:http://canann.iteye.com/blog/1941173 以前实现数据的缓存有很多种方法,有客户端的Cookie,有服务器端的Session和Application. 其中C ...

  7. Http中Cookie和Session介绍

    先介绍下B/S系统的工作的完整过程.首先客户端的浏览器发出请求,服务端的webserver接受到请求后,调用相关请求的页面进行处理,处理完后将结果发送给客户端的浏览器进行显示.只能是浏览器向webse ...

  8. web存储中cookie、session区别

    http协议是一种无状态的协议,浏览器对服务器的每一次请求都是独立的.为了使得web能够产生一些动态信息,就需要保存”状态”,而cookie和session机制就是为了解决http协议无状态而产生.c ...

  9. Django中cookie和session

    cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...

  10. nodejs中cookie、session的使用

    因为http会话的无状态性,为了标记用户的登录状态,便出现了cookie.cookie分为很多种,有普通cookie.签名cookie.json cookie等,这里主要记录下在express应用中如 ...

随机推荐

  1. linux-秘钥生成

    服务器sshd配置 #vim /etc/ssh/sshd_conf PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys # ...

  2. linux上如何删除文件名乱码的文件

    这里写图片描述今天在服务上发现了两个文件名是乱码的文件,如图所示.这里写图片描述于是想用rm命令把它们删掉,但提示没有此文件. 网上搜了一下,找到解决方法,首先执行ls -i命令,此时在文件前面会出现 ...

  3. node+express 搭建本地服务

    首先,得有node环境,其次建个项目 目录例如  酱紫! 再次 写server.js,当然你可以换个名字a.js .b.js.why.js随你喜欢 var express = require('exp ...

  4. 使用globalData函数设置全局变量

    在app.js中设置需要的全局变量的参数,比如公司名称等 //app.js App({ globalData: { title: 'tomatocc' } }) 然后就可以在某个页面的js文件中(比如 ...

  5. 图解TCP/IP笔记

  6. HDFS中DataNode的心跳机制

    DataNode心跳机制的作用讲解了DataNode的三个作用: register:当DataNode启动的时候,DataNode需要将自身的一些信息(hostname, version等)告诉Nam ...

  7. bind、apply、call的理解

    一直感觉代码中有call和apply就很高大上(看不懂),但是都草草略过,今天非要弄明白!以前总是死记硬背:call.apply.bind 都是用来修改函数中的this,传参时,call是一个个传参, ...

  8. java发送邮件javamail, freemarker读取html模板内容

    https://www.cnblogs.com/xdp-gacl/p/4216311.html 一.RFC882文档简单说明 RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封简单的邮件 ...

  9. Dobbox

    一.向本地仓库导入Dubbox依赖 1.1解压压缩包 1.2打开cmd窗口切到源码包路径 1.3输入命令行 1.4成功后展示如图 1.5输入命令行 1.6成功后如图 public class DoSo ...

  10. C# 接收C++ dll 可变长字节或者 字符指针 char*

    网络上查找到的几乎都是 需要提前固定知道 接收字符(字节)数据的大小的方式,现在的数据大小方式 不需要提前知道如下 思路: 1 .C++,返回变长 指针或者字节 的地址给C# 接收,同时返回 该地址的 ...