8.3 在PHP中生成cookie
cookie是存放在客户端的一组数据,它由服务器端的脚本程序生成、读写,并且以文件的形式存放在远程客户端,它的作用主要是用来识别用户身份。PHP中的session也通过cookie来区分不同的用户,它可以很容易地为每一个用户在服务器端建立一个临时的数据通道,通过这个通道,服务器实现了对不同用户的区分或者验证了不同用户的身份。
cookie在Web开发中向来扮演着比较重要的角色,它是Web开发中历史悠久并且经常使用的技术之一,在PHP中体现的更为明显。在设计用户身份验证的系统中,往往都会使用cookie。PHP中可以通过函数方便地使用cookie。本节将向读者介绍如何在PHP程序中使用cookie。
8.3.1 生成cookie
函数setcookie()可以在PHP程序中生成cookie。由于cookie是HTTP头标部分的内容,因此必须在输出任何数据之前调用setcookie(),这个限制和函数header()类似。函数setcookie()的语法如下所示。
bool setcookie(string name[,string value[,int expire[,string path[,
string domain[,bool secure]]]]])
setcookie共有6个参数,分别如下所示。
❑name:表示cookie的名称。
❑value:表示该cookie的值,保存在客户端,因此不要保存敏感或机密的数据。这个参数为空字符串时,表示撤销客户端中该cookie的资料。
❑expire:表示该cookie有效的截止时间,即过期时间,该参数必须是整型。
❑path:表示该cookie有效路径。
❑domain:表示该cookie有效的域名。
❑secure:表示在https的安全传输时才有效。
本函数除了第1个参数之外,其他参数都是可以省略的。下面的示例代码在客户端生成了一个名为testcookie,值为ilovephp的cookie。
<?php
setcookie("testcookie","ilovephp");
?>
使用函数setcookie()给一个cookie设定的值只能是数字或字符串,不能是数组或其他复杂的数据结构。