1.什么是cookie
cookie是一种在远程浏览器端存储数据并以此来跟踪和识别用户的机制.
2.php如何设置cookie
在php中可以使用setcookie()或setrawcookie()函数来设置cookie.cookie是http头的一部分,因此setcookie()等函数必须在其输出数据座之前被调用,这和header()函数是相同的.不过在这里也可以使用输出缓冲函数来延迟脚本的输出.直到设置好了所有cookie和其他http标头.
- <?php
- $value = "something";
- setcookie("testcookie",$value);
- setcookie("testcookie",$value,time()+3600);
- ?>
如果希望对一个cookie变量设置多个值,则可以在cookie变量名称后面加[]符号.
- <?php
-
- setcookie("cookie[three]", "cookiethree");
- setcookie("cookie[two]", "cookietwo");
- setcookie("cookie[one]", "cookieone");
- ?>
setcookie()还可以设置控制读取cookie的程序的域及目录路径,默认为同服务器且在同级或以下目录结构内的页面才可以读取,然而如果你想设置允许从域example.com的/~rasmus目录处理页面,并且使用基于ssl的安全连接,则可以进行如下设置:
- <?php
- $value = "something";
- setcookie("testcookie",$value,time()+3600,"/~rasmus/",".example.com",1);
- ?>
删除cookie的操作与上面类似,只需要设置cookie的值为空即可.
- <?php
-
- setcookie ("testcookie", "", time() - 3600);
- setcookie ("testcookie", "", time() - 3600, "/~rasmus/", ".example.com", 1);
- ?>
注意:根据register_globals的设置,可以从cookie建立普通的php变量,不过一般不推荐依赖于此特性,因为出于安全考虑该选项通常是关闭的.必须保证在设置cookie前无数据输出.php会自动的接收和处理cookie,我们只需要在需要它的时候直接调用即可,你可以使用print_r($_cookie)把整个cookie数组的值全部打印出来. |