必须在任何其他输出发送前对 cookie 进行赋值。如果成功,则该函数返回 true,否则返回 false。
setcookie(name, value, expire, path, domain, secure)
name 必需。规定 cookie 的名称。
value 必需。规定 cookie 的值。
expire 可选。规定 cookie 的有效期。
path 可选。规定 cookie 的服务器路径。
domain 可选。规定 cookie 的域名。
secure 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。
可以通过 $HTTP_COOKIE_VARS["user"] 或 $_COOKIE["user"] 来访问名为 "user" 的 cookie 的值。在发送 cookie 时,cookie 的值会自动进行 URL 编码。接收时会进行 URL 解码。如果不需要这样,可以使用 setrawcookie() 代替。
程序1:
设置并发送 cookie:
1<?php
2$value = "my cookie value"
3// 发送一个简单的 cookie
4setcookie("TestCookie",$value)
5?>
01<html>
02<body>
03...
04...
05<?php
06$value = "my cookie value"
07// 发送一个 24 小时候过期的 cookie
08setcookie("TestCookie",$value, time()+3600*24)
09?>
10<html>
11<body>
程序2:
检索 cookie 值的不同方法:
01<html>
02<body>
03<?php
04// 输出个别的 cookie
05echo $_COOKIE["TestCookie"]
06echo "<br />"
07echo $HTTP_COOKIE_VARS["TestCookie"]
08echo "<br />"
09// 输出所有 cookie
10print_r($_COOKIE)
11?>
12</body>
13</html>
程序输出:
1my cookie value
2my cookie value
3Array ([TestCookie] =>my cookie value)
程序3:
通过把失效日期设置为过去的日期/时间,删除一个 cookie:
1<?php
2// 把失效日期设置为一小时前
3setcookie ("TestCookie", "", time() - 3600)
4?>
程序4:
创建一个数组 cookie:
01<?php
02setcookie("cookie[three]","cookiethree")
03setcookie("cookie[two]","cookietwo")
04setcookie("cookie[one]","cookieone")
05// 输出 cookie (在重载页面后)
06if (isset($_COOKIE["cookie"]))
07{
08foreach ($_COOKIE["cookie"] as $name =>$value)
09{
10echo "$name : $value <br />"
11}
12}
13?>
程序输出:
1three : cookiethree
2two : cookietwo
3one : cookieone
程序5:
view sourceprint?
1/**
2 * 01.cookie设置
3 * */
4function ssetcookie($var, $value, $life=0) {
5global $_SGLOBAL, $_SC, $_SERVER
6setcookie($_SC['cookiepre'].$var, $value, $life?($_SGLOBAL['timestamp']+$life):0, $_SC['cookiepath'],$_SC['cookiedomain'], $_SERVER['SERVER_PORT']==443?1:0)
7}
比如设置一个名为 MyCookier的Cookie,PHP会自动从WEB服务器接收的HTTP头里把它分析出来,并形成一个与普通变量一样的变量,名为$ myCookie,这个变量的值就是Cookie的值。数组同样适用。另外一个办法是引用PHP的全局变量$HTTP_COOKIE_VARS数组。分别举例如下:(假设这些都在以前的页面里设置过了,并且仍然有效)echo $MyCookieecho $CookieArray[0]echo $_COOKIE["MyCookie"]echo $HTTP_COOKIE_VARS["MyCookie"]要删除一个已经存在的Cookie,有两个办法:1、SetCookie(“Cookie”, “”)2、SetCookie(“Cookie”, “value” , time()-1 / time() )使用Cookie的限制1、必须在HTML文件的内容输出之前设置;2、不同的浏览器对Cookie的处理不一致,且有时会出现错误的结果。3、限制是在客户端的。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)