0

CakePHP アプリでのログアウト アクション中に、追加の Cookie を削除/設定解除しようとしています。私は3つの方法をすべて試していますが、どれもまったく効果がないようです。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, '/');

どうやら 4 番目のパラメーターが必要だったようです。この件に関して私が見つけた文書化されたスレッドや他のスレッドで、この問題がこれ以上語られていないことに驚いています。

于 2013-04-04T02:52:47.583 に答える