2017-02-10 6 views
1

私はcakephp 3.0の新機能です。私は成功裏にクッキーを作成しましたが、私は1分後にそのクッキーを破壊したいと思います。私がこれまでに行っている: -cakephpで1分後にクッキーを破壊する方法は?

public function register_cookie(){ 
    $data = "Hello world!"; 
    $this->Cookie->write('dataFetch', $data, true, time() + (60 * 1)); 
} 
public function getcookie() { 
     $cookiedata = $this->Cookie->read('dataFetch'); 
     echo $cookiedata; 
} 

が、私はgetCookie機能で、1分後に来るとき、それはまだ、すなわち、「Hello World」の1分クッキーの有効期限が切れた後、私が欲しい を印刷します。 ありがとうございます。

+0

のようになります。この

$this->Cookie->config([ 'expires' => '+10 days', ]); 

のような構成を設定する必要があります。論理的なエラーになる可能性があります。この関数を呼び出すコードを提供できますか?あなたがそれを得る前にもう一度クッキーを書いているからかもしれません。 –

+0

私はこれらの名前を私自身で提供しています – kunal

+0

あなたは 'register_cookie'と' getcookie'関数を呼び出したところからですか? –

答えて

0

CakePHPの3.xのではと文書では、これらのparamenters

CookieComponent::write(mixed $key, mixed $value = null)

しかし、それは、これらのパラメータを取るために使用CakePHPの2.xでを持つことができると言う

CookieComponent::write(mixed $key, mixed $value = null, boolean $encrypt = true, mixed $expires = null)

は、有効期限の時刻を設定するには、だからあなたのコードは、コードが正しいように思えるこの

public function register_cookie(){ 
    $this->Cookie->config([ 
     'expires' => '+1 minute', 
    ]); 
    $this->Cookie->configKey('dataFetch', 'encryption', false); 
    $data = "Hello world!"; 
    $this->Cookie->write('dataFetch', $data); 
} 
+0

しかし、1分の間にクッキーデータを読むと、getCookie関数のデータが印刷されません – kunal

0

まず、Cookieの有効期限が正しく設定されているかどうかを確認する必要があります。たとえば、Chromeの場合(inspect要素がコンソールバーをトリガーした後)、Application¥Storage¥Cookies¥Localhostに移動してCookieを確認します。

また、あなたは)(時間の経過とともに、過去に有効期限を設定することにより、クッキーを破壊することができます

$this->Cookie->delete('bar'); 

でクッキーを削除することができCakePHPでは

から1

+0

getcookie関数でこれを行う方法 – kunal

+0

これは私にこの期限切れ時間を示します。2017-03-10 – kunal

+0

あなたはコードが正しいです...もし2017-03-10と表示された場合、それは3月10日に期限切れになることを意味します。時計の設定が正しいかどうかを確認してください。 2月10日現在の時間+ 60秒にする必要があります。 –

関連する問題