首页 >php教程 >php手册 >怎样使用php与jquery设置和读取cookies

怎样使用php与jquery设置和读取cookies

WBOY
WBOY原创
2016-06-06 20:28:051121浏览

有两种处理cookies的方式—服务端(php,asp等)和客户端(javascript).在这个教程中,我们将学习到以php和javascript这两种方式如何去创建cookies

HTTP协议是一种无状态协议,这意味着你对网站的每一个请求都是独立的,而且因此无法通过它自身保存数据。但这种简单性也是它在互联网早期就广泛传播的原因之一。

不过,它仍然有一种方法能让你用cookies的形式来保存请求之间的信息。这种方法使你能够更有效率的进行会话管理和维持数据。

有两种处理cookies的方式—服务端(php,asp等)和客户端(javascript).在这个教程中,我们将学习到以php和javascript这两种方式如何去创建cookies。

Cookies and php
 
setting cookies
在php中创建cookie你需要用到setcookie这个方法。它需要些参数(除了第一个参数是必需的,其它参数都是可选的)

复制代码 代码如下:


setcookie(
    'pageVisits', //cookie名字,必需的
     $visited,     //cookie的值
     time() 7*24*60*60, //过期时间,设置为一个星期
     '/',               //cookie可用的文件路径
     'demo.tutorialzine.com' //cookie绑定的域名
)


如果过期时间设置为0(默认设置也是0),那么当浏览器重启时cookie将会丢失。
参数'/'表示你域名下所有文件路径cookie都可以用(当然你也可以为它设置单一的文件路径,例:'/admin/')。

你还可以传给个这个函数别两个额外的参数,网站空间,这里没有给出。它们被规定为boolean类型的。
第一个参数表示cookie仅在一个安全的HTTPS连接才运转,而第二个参数表示不能使用javascript操作cookie。

对大多数人来说,你只需要第四个参数,剩下的就忽略了。

reading cookies
用php读取cookie就简单多了。所有的传给脚本的cookies都在$_COOKIE这个超级全局数组里。
在我们的例子里,可以用下面的代码来读取cookies:

复制代码 代码如下:


$visits = (int)$_COOKIE['pageVisits'] 1;
echo "You visited this site: ".$visits." times";


值得注意的地方是,当下一个页面加载好时,也可以用$_COOKIE来取得你用setcookie方法设置的cookies,
你应该意识到了什么。

deleting cookies
为了删除cookies,仅仅需要用setcookie函数为cookies设置一个已经过去时间做为过期就行了。

复制代码 代码如下:


setcookie(
     'pageVisits',
      $visited,
      time()-7*24*60*60,  //设置为前一个星期,香港服务器租用,cookie将会被删除
      '/',
      'demo.tutorialzine.com'
)


Cookies and jQuery
在jquery中使用cookies,服务器空间,你需要一个插件Cookie plugin.

Setting cookies
用Cookie plug-in设置cookies是很直观的:

复制代码 代码如下:


$(document).ready(function(){ 

     // Setting a kittens cookie, it will be lost on browser restart: 
     $.cookie("kittens","Seven Kittens"); 

     // Setting demoCookie (as seen in the demonstration): 
     $.cookie("demoCookie",text,{expires: 7, path: '/', domain: 'demo.tutorialzine.com'}); 

     // "text" is a variable holding the string to be saved 
 });


Reading cookies
读取cookie甚至更简单,只需要调用$.cookie()方法,给它一个cookie-name就可以了,这个方法会返回cookie的值:

复制代码 代码如下:


 $(document).ready(function(){ 

     // Getting the kittens cookie: 
     var str = $.cookie("kittens"); 

     // str now contains "Seven Kittens" 
 });


Deleting cookies
删除cookie,只需要在次使得$.cookie()方法,把第二个参数设置为null就可以了。

复制代码 代码如下:


 $(document).ready(function(){ 

     // Deleting the kittens cookie: 
     var str = $.cookie("kittens",null); 

     // No more kittens 
 });


完整示例:
demo.php

复制代码代码如下:


// 始终设置cookie在将任何数据或 HTML 打印到页面之前
$visited = (int)$_COOKIE['pageVisits'] 1;
setcookie( 'pageVisits',    // cookie 名称,必需
     $visited ,     // cookie 的值
   time() 7*24*60*60,   // 过期时间,设置为未来一周
   '/',      // 文件夹路径,cookie 将是适用于网站每个文件夹中的所有脚本
   'demo.tutorialzine.com'); // cookie 将被锁定的域
?>




MicroTut:使用 jQuery 和 PHP 获取和设置 Cookie |教程杂志演示






MicroTut:获取和设置使用 jQuery 和 PHP 的 Cookie


返回 教程 »



 

   

上面的数字表示您访问此页面的次数(PHP cookie)。重新加载以测试。




   

 

     

         < ;input type="text" />
                   

   
   

;在上面的字段中写入一些文本,然后单击“保存”。它将在页面重新加载之间使用 jQuery cookie 进行保存。






jquery.cookie.js

复制代码代码如下:

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
上一篇:分割GBK中文遭遇乱码的解决方法下一篇:mcrypt启用 加密以及解密过程详细解析

相关文章

查看更多