有两种处理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绑定的域名
)
复制代码 代码如下:
$visits = (int)$_COOKIE['pageVisits']+1;
echo "You visited this site: ".$visits." times";
复制代码 代码如下:
setcookie(
'pageVisits',
$visited,
time()-7*24*60*60, //设置为前一个星期,香港服务器租用,cookie将会被删除
'/',
'demo.tutorialzine.com'
)
复制代码 代码如下:
$(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
});
复制代码 代码如下:
$(document).ready(function(){
// Getting the kittens cookie:
var str = $.cookie("kittens");
// str now contains "Seven Kittens"
});
复制代码 代码如下:
$(document).ready(function(){
// Deleting the kittens cookie:
var str = $.cookie("kittens",null);
// No more kittens
});
复制代码 代码如下:
// Always set cookies before any data or HTML are printed to the page
$visited = (int)$_COOKIE['pageVisits'] + 1;
setcookie( 'pageVisits', // Name of the cookie, required
$visited, // The value of the cookie
time()+7*24*60*60, // Expiration time, set for a week in the future
'/', // Folder path, the cookie will be available for all scripts in every folder of the site
'demo.tutorialzine.com'); // Domain to which the cookie will be locked
?>
The number above indicates how many times you've visited this page (PHP cookie). Reload to test.
Write some text in the field above and click Save. It will be saved between page reloads with a jQuery cookie.
复制代码 代码如下: