我只是想摧毁所有$ _COOKIES信息,但没有信息/在$ _SESSION数据,所以我用这个代码的下方,但它破坏我的所有$ _SESSION数据,以及这是不是我想要的,
// Destroy all cookies.
foreach ($_COOKIE as $key => $value){
setcookie($key, "", time()-1800, '/');
}
但是,如果我取消设置由一个$ _COOKIES数据之一,比如$ _SESSION数据仍然未被破坏,
setcookie('accept_terms_conditions', "", time()-1800, '/');
为什么foreach
代码破坏$ _SESSION为好。我可以只销毁$ _COOKIES吗?
我同意你的方法,但'session_name()'是一个昂贵的使用方法。而且,开发者以前已经自己设置了(或不是)'session_name()',所以在这里再次检查它似乎并不重要。 –
你说得对。我应该使用一个变量,在foreach循环之外设置一次来存储session_name()内容。使用session_name()可以确保如果您(或其他团队的同事)更改会话名称,您的代码将继续工作而不会发生任何其他更改。 – Armage
正如我所说,我确实同意你的看法:-) –