0

我试图在我的 cakePHP 应用程序的注销操作期间删除/取消设置其他 cookie。我正在尝试所有三种方法,但它们似乎都没有任何效果。这是 UsersController.php 中的内容:

public function logout() {

    $wp_cookie = grab_wp_cookie(); //this grabs the extra cookie name/value 
    $cookie_name = (isset($wp_cookie['name'])) ? $wp_cookie['name'] : NULL;
            //none of these do anything...
    $this->Cookie->write($cookie_name, 'xxx', false, strtotime('-1 day'));
    $this->Cookie->delete($cookie_name);
    $this->Cookie->destroy();

    $this->redirect($this->Auth->logout());
}

我错过了什么吗?我找到了这个文档,但它并没有表明我在做什么有任何问题。但是它确实显示了很多beforeFilter()我没有使用过的配置选项。

4

1 回答 1

0

我希望有人能提供一个更好的答案来解释为什么蛋糕方法不起作用,但与此同时,我实际上能够使用setcookie()以前不起作用的 PHP 来让它工作。

我这样做没有成功:

    setcookie($cookie_name, "XXX", time()-3600);

但这有效:

    setcookie($cookie_name, "XXX", time()-3600, '/');

显然第四个参数是必要的。我很惊讶在我发现的关于这个主题的文档或其他线程中没有更多地讨论这个问题。

于 2013-04-04T02:52:47.583 回答