在 PHP 中,我怎样才能制作一个在会话存在时持续存在的 cookie?
场景:一个网站由页面组成,有些是执行的 PHP 脚本,例如login
和view cart
. 有些是 Apache 从缓存中读取的静态 html 文件,并且在这些页面上不会调用 PHP。
在任何运行 PHP 的页面上都会生成和维护 sessionID。无论用户是否实际登录,会话都存在。会话存储用户是否登录。浏览器只有一个 sessionID cookie。
根据用户是否登录,缓存页面应该显示一个log in
或一个按钮。log out
PHP 不会在缓存页面上调用,因此无法在此处读取会话值。必须使用一个小的 JavaScript 函数来检查 IsLoggedIn cookie。
问题:如果用户登录,PHP 可以设置 JavaScript 读取的 cookie。好的。如果用户使用注销按钮明确注销,则 cookie 可能会过期。好的。
但是-如果用户离开计算机,他的会话在他与 PHP 支持的页面的最后一次交互后 x 秒过期,而他的 cookie 在创建后 y 秒过期。这可能导致一个超时。
有没有办法让两者同步,让它们总是一起过期?