📜  php中的setcookie(1)

📅  最后修改于: 2023-12-03 15:33:40.619000             🧑  作者: Mango

PHP中的setcookie

在PHP中,我们可以使用setcookie()函数来设置一个HTTP cookie。HTTP cookie是一种存储在用户计算机上的文本文件,它可以在用户访问网站时传递给服务器。这使得服务器可以记录用户在不同页面之间的操作,并根据用户的信息进行自定义。

语法

setcookie()函数的基本语法如下:

setcookie(name, value, expires, path, domain, secure, httponly);

其中,name参数是cookie的名称,value参数是cookie的值。下面是各个参数的详细说明:

  • expires:指定cookie的过期时间,格式为Unix时间戳(秒数)。如果未指定,则cookie将在用户关闭浏览器时自动过期。
  • path:指定cookie所在目录,一般使用默认值/
  • domain:指定cookie的域名。默认值为空,即当前域名及其子域名下的所有页面都可以获取该cookie。
  • secure:如果设置为true,则仅在通过HTTPS协议的安全连接时,才向服务器发送cookie。
  • httponly:如果设置为true,则cookie仅能通过HTTP或HTTPS访问。
示例

我们可以使用setcookie()函数来设置一个名为username的cookie,值为John,过期时间为1小时,所在目录为默认值/,域名为空,仅在HTTPS连接时发送,仅通过HTTP或HTTPS访问。示例代码如下:

setcookie("username", "John", time()+3600, "/", "", true, true);
注意事项
  • setcookie()函数必须在输出HTTP头之前调用,否则会发生错误。
  • 设置过期时间后,不能从cookie中读取数据。
  • 如果设置了过期时间,但时间早于当前时间,则cookie将立即过期,并被删除。
  • 不要将敏感信息存储在cookie中,因为cookie可以被窃取。如果必须要存储敏感信息,应当加密该信息。
  • 由于cookie是基于浏览器的,所以同一计算机上使用不同浏览器时,cookie是不共享的。