Php 饼干不';不要被移除
我的cookie确实有问题:目录Php 饼干不';不要被移除,php,.htaccess,cookies,Php,.htaccess,Cookies,我的cookie确实有问题:目录/admin中有login.php。我使用.htaccess重写URL,因此用户通过在domain.com/admin/login中提示来调用登录表单,成功登录后,用户可以在管理区域中冲浪:domain.com/admin/dashboard(依此类推)。如果用户希望永久登录,登录文件将设置cookie: setcookie('sid',$sid,time()+3600',/') 到目前为止,一切顺利。但是在管理仪表板中,有一个指向domain.com/admin
/admin
中有login.php
。我使用.htaccess重写URL,因此用户通过在domain.com/admin/login
中提示来调用登录表单,成功登录后,用户可以在管理区域中冲浪:domain.com/admin/dashboard
(依此类推)。如果用户希望永久登录,登录文件将设置cookie:
setcookie('sid',$sid,time()+3600',/')代码>
到目前为止,一切顺利。但是在管理仪表板中,有一个指向domain.com/admin/logout
的链接,该链接也会调用logout.php
文件,该文件也位于/admin
目录中
logout.php
检查cookie是否已设置,然后尝试取消设置cookie:
setcookie('sid','',time()-3600',/')代码>
我尝试用多种方式设置过期日期,所以我认为这不会导致问题。然后我尝试设置域参数。因为这应该是一个针对不止一个客户的CMS,所以我必须设置一个动态域(我通过$\u SERVER['SERVER\u NAME'];
),但这不起作用
有人知道我能做些什么来解决这个问题吗
提前谢谢 您手动管理cookie而不是使用PHP的$\u会话
,有什么具体原因吗?(并不是说手动使用cookies是错误的,但是已经有一个非常好的工具存在)您是否尝试过确保它们是相同的SESSHID?在浏览器中添加document.cookie
以确认相同的PHP SESSHID
并尝试$\u cookie['sid']=null
如果用户登录,则询问他是否希望登录更长时间。如果他想在关闭浏览器时注销,则使用$\u会话['sid']。但据我所知,在浏览器打开之前不可能使用$\u会话。所以这是因为舒适的原因。@PhilipTsang是的,他们也有同样的原因$_COOKIE['sid']=NULL不会更改(或删除)COOKIE。