创建未设置的 cookie 按钮

Posted

技术标签:

【中文标题】创建未设置的 cookie 按钮【英文标题】:Create unset cookie button 【发布时间】:2011-07-05 21:36:01 【问题描述】:

我已经使用 php 创建了一个 cookie,现在我需要创建一个用户可以单击以注销的按钮。

这将是取消设置 cookie 的 php 代码:

 unset($_COOKIE['access_token']);  

但我对如何制作按钮功能非常困惑。有人可以帮我吗?

非常感谢

【问题讨论】:

取消设置 $_COOKIE 实际上不会删除 cookie。但是,您可以使用过去设置的到期日期覆盖它。 【参考方案1】:

if(isset($_GET['logout']))

unset($_COOKIE['access_token']);

header('Location: /');

exit;

现场

<a href="?logout">logout</a>

【讨论】:

正如其他人所说,这实际上并没有删除cookie。 setcookie('access_token', null, 0, '/'); 会。【参考方案2】:

顺便说一句,你可以通过设置过去的时间来删除cookie

setcookie($_COOKIE['access_token'],'',time()-3600);

你应该取消会话

session_destroy()'

【讨论】:

感谢所有人,对不起,我试图让它变得简单,但我让它变得太简单了。我的网络中有一个用户登录的会话,并且登录到 Foursquare。我想要做的是建立一个按钮来从 Foursquare 注销但不是从我的会话中注销..你是对的,取消设置 cookie 不起作用:( @user638009:如果有会话,您必须为该站点(Foursquare)使用session_unsetsession_destroy。 Session 和 cookie 都不一样 好的,但是我如何在我的会话和 Foursquare 会话之间做出区别?在 Foursquare 身份验证代码中,没有什么叫做 session..。【参考方案3】:

实际上最好这样做:

setcookie("myCookie", null, 1); //# This will expire / delete *immediately*

如果你使用

setcookie("myCookie", null, 0), the cookie is still valid until they close their browser.

【讨论】:

以上是关于创建未设置的 cookie 按钮的主要内容,如果未能解决你的问题,请参考以下文章

$cookieStore 过期未设置

Cookie 已设置但未检测到

未设置 Set-Cookie 标头中的 Cookie

Owin cookie身份验证设置cookie未保存在浏览器中

.Net 应用程序中的安全标志未设置为 Cookie

通过 ngrok 连接时未设置 Cookie