PHP Cookies2025年4月17日 | 阅读 5 分钟 PHP Cookies 是服务器用于识别用户和保存多次连续连接状态信息的小块数据。用户认证、偏好设置管理以及会话处理是 PHP Cookies 的主要功能。 Cookie 由服务器计算机生成,并传输到客户端 Web 浏览器。客户端的每次服务器请求都包含 Cookie,这使得服务器能够检索保存的数据。Cookie 的功能是创建和保留用户登录信息,同时保存用户的选择,并记录用户浏览网页的方式。 简而言之,Cookie 可以在服务器端创建、发送和接收。 注意:PHP Cookie 必须在 <html> 标签之前使用。PHP Cookies 的工作原理![]() PHP 将 Cookie 作为其 编程 环境中的基本元素,用于支持会话持久性和用户跟踪等功能。PHP 脚本会激活 setcookie() 函数,该函数会指示浏览器接收 HTTP 标头,以命令 Cookie 存储。Cookie 标头包含必需的组件,其中包括其名称、值信息、到期时间规范以及可选的附加功能。 只要 Cookie 未过期或未从存储中移除,浏览器就会保留它存储的 Cookie,直到域名收到后续请求。$_COOKIE 超全局数组允许服务器访问检索到的 Cookie 数据,从而能够根据存储的信息动态生成响应。 PHP setcookie() 函数PHP setcookie() 函数用于通过 HTTP 响应设置 Cookie。设置 Cookie 后,您可以通过 $_COOKIE 超全局变量访问它。 语法 参数 $name 变量规定了必需的 Cookie 名称。value 参数包含与 Cookie 相关的所有存储信息。存储数据何时过期取决于 $expire 参数的值,该参数默认为 0,表示会话结束。Cookie 通过 $path 参数定义的目录可访问。设置 domain 参数时,您将确定 Cookie 所属的域名。 $secure 参数仅在连接使用安全的 HTTPS 连接时才启用 Cookie 的传输。当开发人员将 $httponly 设置为 true 时,安全可确保客户端 JavaScript 无法访问 Cookie。这可以保护 Cookie 数据的真实性。 示例setcookie() 函数的一些常见示例包括 让我们通过其他示例来更好地理解。 示例 1输出:(下次加载页面时) CookieValue 说明 该示例创建了名为“CookieName”的 Cookie,其值为“CookieValue”。由于未指定时间,此 Cookie 将作为基于会话的 Cookie,在浏览器窗口关闭时终止。可以通过 $_COOKIE["CookieName"] 检索相同的值。 示例 2输出:(如果在 1 小时内访问) TPointTech 说明 该脚本创建一个名为“Username”的 Cookie,其值为“TPointTech”,并将其设置为在 1 小时后过期(从当前系统时间起 3600 秒)。time() 函数检索当前 Unix 时间戳,再加上 3600 秒后,将在 1 小时内生效,之后由浏览器自动删除。 示例 3输出:(安全请求在 24 小时内) 12345 说明 名为“SessionID”的会话 Cookie 包含值“12345”,其过期时间设置为 24 小时(86400 秒)。该应用程序包含域名和路径限制,以及通过 HTTPS 进行安全的需要,还有一个标志可防止第三方 JavaScript 尝试修改 Cookie。通过将 $httponly 标志设置为 true 来实现安全增强,这可以阻止 JavaScript 访问 Cookie。 PHP $_COOKIEPHP $_COOKIE 超全局变量用于获取 Cookie。 语法 示例示例 1 文件:cookie1.php 文件:cookie1.html 示例立即执行输出 Sorry, cookie is not found! 输出:(刷新页面后) Cookie Value: Sam 说明 在脚本初始执行期间,即使“user”Cookie 未被访问,它也会被创建,显示“抱歉,找不到 Cookie!”。浏览器会将保存的 Cookie 发送给服务器,通过 $_COOKIE["user"] 可访问,并显示“Cookie 值:Sam”。 示例 2文件:cookie2.php 文件:cookie2.html 示例立即执行输出:(初始加载) Selected Theme: Not set yet 输出:(刷新后) Selected Theme: dark 说明 Theme Cookie 设置了 24 小时的过期计时器。空合并运算符 (??) 允许在使用 Cookie 不可用时使用默认值。 PHP 删除 Cookie将任何 Cookie 的到期时间设置为早于当前时间,将触发浏览器 PHP Cookie 的删除。这会导致浏览器删除该 Cookie。 示例请参见下面的 PHP 删除 Cookie 的示例 示例 1文件:delcookie1.php 文件:delcookie.html 示例立即执行输出 Profile cookie deleted. 说明 “profile”Cookie 的过期时间比当前时间早一个小时,因此浏览器会自动删除该 Cookie,而 isset() 会验证其是否已被删除。 示例 2立即执行输出:(刷新后) Session cleared. 说明 “session”Cookie 被设置,然后通过将其过期值设置为早于当前时间的值立即删除。 结论PHP Cookies 提供了一个高级数据管理系统,可帮助应用程序开发人员构建交互式 Web 平台。 Web 开发人员可以通过 setcookie() 函数实现安全的 Cookie 创建,该函数允许他们定义过期日期、路径规则以及安全设置,而 $_COOKIE 超全局变量则提供了检索此数据的有效方法。 Cookie 的主要目的是在 HTTP 的无状态操作与需要持久状态信息的 Web 体验之间建立联系。 下一个主题PHP Session |
我们请求您订阅我们的新闻通讯以获取最新更新。