cookie与session

2016-01-29 13:15 4 1 收藏

cookie与session,cookie与session

【 tulaoshi.com - PHP 】

在很多时候,我们需要跟踪浏览者在整个网站的活动,对他们身份进行自动或半自动的识别(也就是平时常说的网站登陆之类的功能),这时候,我们常采用一组变量来追随访客。实现变量追随有很多种方法,比较用得多的是cookie和session。下面我们用时下很流行的PHP为大家讲解一下它们的使用。

一.Cookie的使用

   Cookie是网站保存在浏览器客户端的信息,也就是说保存在访客的机器里的变量,一般随着HTTP头发送到客户端。在Cookie生效之后及失效之前,客户每次发出页面请求的时候,都会把Cookie一块发送到服务器,只要我们针对它进行相应的处理,就可以实现变量追随。

1. 设置一个Cookie变量
   设置一个Cookie变量,PHP使用的函数是: int 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 的安全传输时才有效。   例如我们要设置一个变量username,它的值是字符串bluewind,我们可以这么写代码: setcookie (username,bluewind); //这两个参数是setcookie必要的。
  我们还想给这个变量设置有效时间来限制操作超时等,比如说10分钟: setcookie (username,bluewind, 600000); //有效时间的单位是毫秒。
  注意:setcookie和header函数一样,需要放在任何能向客户端输出的语句之前。

2. 销毁一个变量
  销毁Cookie变量只要将它的value设为空()就可以了,如想销毁上面那个变量只要再写一次: setcookie (username ,);
  就可以了。这常用作安全退出之用。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)

3. Cookie的有效范围和生存期
   Cookie的有效范围(也就是说在这个范围的页面都能得到这个Cookie变量)默认的是该目录及其子目录,当然你可以用setcookie的path和domain参数进行修改。如果你不对cookie的expire进行设置(参见1. 设置一个Cookie变量中的例子),那么当你离开网站的页面,cookie也同时得到自动销毁。   http://www.netscape.com/newsref/std/cookie_spec.html是 cookie 原创者 Netscape 所提供的完整介绍信息。

 

二,session的使用
   session变量,也就是会话级变量,是访客在整个和网站交互的过程中都存在的公有变量。在客户端不支持有可能不支持cookie的时候(比如linux下的lynx呵呵,惨了点),我们为了保证数据正确安全,就需要采用session变量。Session在各种网页语言中的实现方式不一样,PHP在4.0后也开始支持它了。首先,让我们来看看一个简单的例子:

test.php
-----------
<?
session_start();
session_register(var); //注册变量var
$var="这是SESSION变量的值"; //var变量已经被作为session变量
?

 

test1.php
------
<?
session_start();
session_register(var);
echo $var; //输出:这是SESSION变量的值
?

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/php/)

 

1、初始一个session
   如果PHP的设置自动session并没有开启的话,需要使用session_start()函数来初始化一个session,这个函数的用法如下:
: boolean session_start(void);
  它的作用是初始化一个新的 Session,若该客户已在 Session 之中,则连上原 Session。本函数没有参数,且返回值均为 true。

2、在session中注册一个变量
   你要在session保存的变量都必须使用下列函数对变量进行注册: boolean session_register(string name);
  本函数在全局变量中增加一个变量到目前的 Session 之中。参数 name 即为欲加入的变量名。成功则返回true 值。然后你就可以直接使用变量名对它进行赋值,这个值就会被保存下来。

3、使用session变量的值
   如上例所示,只要你再在新的页面重复上两个步骤(除了赋值外),就可以直接使用session变量。

4、session的销毁
   如果你只是想注销一个变量而不是摧毁整个变量的话,那需要使用函数:boolean session_unregister(string name);
  用法很简单,参数 name 即为欲删除的变量名。成功则返回 true 值。但是,如果要整个摧毁session变量的话,比如说安全退出什么的,使用函数: boolean session_destroy(void);
  本函数结束目前的 Session。本函数没有参数,且返回值均为 true。

5、其它有用的session函数

&nb

来源:http://www.tulaoshi.com/n/20160129/1489487.html

延伸阅读
一、在活动的应答项中设置cookie,以及在请求中读同样的cookie. 把Cookies 设置为应答的一部分,使用SetCookieField方法: TStringList* Cookies = new TStringList(); Cookies-Add("Answer=42"); // whatever... Response-SetCookieField(Cookies,NULL,NULL,Now()+1,false); Cookies-Free(); ...
标签: Web开发
问题:     使得在访问页面的时候能够沿用上次的设置,或者在不同的页面间共享数据。比如用户在访问网站的时候设置了页面字体的大小,那么会希望下次访问的时候仍然能使用同样的设置进行浏览,而不用重复设置。 解决方案:     在用户浏览页面并进行设置时,将这些设置保存在cookie中,下次访问的时候读取coo...
标签: Web开发
这里提到的是javascript中读写cookie的方法。 我们已经知道,在 document 对象中有一个 cookie 属性。但是 Cookie 又是什么?“某些 Web 站点在您的硬盘上用很小的文本文件存储了一些信息,这些文件就称为 Cookie。”—— MSIE 帮助。一般来说,Cookies 是 CGI 或类似,比 HTML 高级的文件、程序等创建的,但是 javascript 也提供了对...
标签: Java JAVA基础
  9.1 Cookie概述 Cookie是服务器发送给浏览器的体积很小的纯文本信息,用户以后访问同一个Web服务器时浏览器会把它们原样发送给服务器。通过让服务器读取它原先保存到客户端的信息,网站能够为浏览者提供一系列的方便,例如在线交易过程中标识用户身份、安全要求不高的场合避免用户重复输入名字和密码、门户网站的主页定制、有针...
标签: Web开发
cookie概述 在上一节,曾经利用一个不变的框架来存储购物栏数据,而商品显示页面是不断变化的,尽管这样能达到一个模拟全局变量的功能,但并不严谨。例如在导航框架页面内右击,单击快捷菜单中的命令,则所有的JavaScript变量都会丢失。因此,要实现严格的跨页面全局变量,这种方式是不行的,JavaScript中的另一个机制:cookie,则可以达到真正...

经验教程

439

收藏

57
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部