管理提醒:
本帖被 骨头 执行加亮操作(2008-09-09)
首先,我对Cookie函数了解的不深,所谓抛砖引玉,俺就是来扔砖块的工人。
PW里的cookie应到有三个函数,Cookie,GetCookie,CookiePre,在Cookie里应用到一个内置函数setcookie
说说setcookie的功用,见笑...
按手册上的英文解释翻译如下:
Quote:
setcookie() 函数向客户端发送一个 HTTP cookie。
cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当计算机通过浏览器请求一个页面,就会发送这个 cookie。
cookie 的名称指定为相同名称的变量。例如,如果被发送的 cookie 名为 "name",会自动创建名为 $user 的变量,包含 cookie 的值。
必须在任何其他输出发送前对 cookie 进行赋值。
如果成功,则该函数返回 true,否则返回 false。
复制代码- setcookie(name,value,expire,path,domain,secure)
|
参数 描述name 必需。规定 cookie 的名称。
value 必需。规定 cookie 的值。
expire 可选。规定 cookie 的有效期。
path 可选。规定 cookie 的服务器路径。
domain 可选。规定 cookie 的
域名。
secure 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。
先设置并发送 cookie:的一小段程序
复制代码- $value = "my cookie value";
- // 发送一个 24 小时候过期的 cookie
- setcookie("MyCookie",$value, time()+3600*24);
|
删除一个cookie,
通过把失效日期设置为过去的日期/时间,删除:
复制代码- <?php
- // 把失效日期设置为一小时前
- setcookie ("MyCookie", "", time() - 3600);
- ?>
|
即把刚才的Cookie删除
我们再创建一个数组
复制代码- <?php
- setcookie("cookie[1]","cookieone");
- setcookie("cookie[2]","cookietwo");
- setcookie("cookie[3]","cookiethree");
- // 输出 cookie (在重载页面后)
- if (isset($_COOKIE["cookie"]))
- {
- foreach ($_COOKIE["cookie"] as $name => $value)
- {
- echo "$name : $value <br />";
- }
- }
- ?>
|
刷新页面可输出:
1 : cookiethree
2 : cookietwo
3 : cookieone 如何找到他们?
你可以用Phpinfo查看下
PHP Variables
如图

,
一定会问,PW怎么应用cookie?
从Phpinfo()打印的内容,看下 _COOKIE["fa632_lastvisit"] 339 1220867737 /forum/read.php?tid=879
组成:fa632_ +astvisit ===> db_sitehash段 + 访问时间+ 最后访问的时间。
比如登录,cookie有效时间,通过以下
代码实现
复制代码- $cktime != 0 && $cktime += $timestamp;
- Cookie("winduser",StrCode($winduid."\t".$windpwd."\t".$safecv),$cktime);
-
|
就是登录页面的时间,$cktime =31536000一年,一个月2592000,86400一天,3600一小时,以秒为单位,时间宝贵啊。
先说到这里吧。


,请大家指正
