2016-07-19 18 views
0

キューにクッキーを送信するPHPコントローラがあり、次回このページを更新してこのコントローラを呼び出すときにこのクッキーを取得する必要があります。リクエストからキューに入れられたクッキーを取得できません

コントローラが呼び出されると、要求にクッキーが存在するかどうかがチェックされ、存在しない場合は、有効期限が15分のキューに設定されます。

しかし、このコントローラが再び呼び出されたときは、何も要求されません。私はdev-tools-> Network-> Cookiesを見てきましたが、このクッキーがRequestセクションでもResponseセクションでも見つかりませんでした。同時に、getQueuedQookies()は、このクッキーがキューに追加されたことを示します。コードは次のようになります。

$cookie = $this->request->cookie('id'); 
if($cookie=='id') { 
    die('ID detected.'); 
} else { 
    $this->cookieJar->queue('id', 'id', 15); 
} 

他のアクションが実行され、コントローラが最後に文字列を返します。

私は間違っていますが、私の問題はどのように解決できますか?可能性のある助けを非常に感謝します!あなたの関数名とのCookieJarへ

答えて

0

更新

変更テストが自動挿入されます。

public function test(CookieJar $cookieJar, Request $request){ 
    $cookie= $request->cookie('id'); 
    if($cookie=='id') { 
     print('ID detected.'); 
    } else { 
     $cookieJar->queue(cookie('id', 'id', 15)); 
    } 
} 
+0

私のコントローラ__construct機能で、私は、引数(のCookieJar $をCookieJar){の$ this - >をCookieJar = $をCookieJarを;}持っているので、私は、$これを使用していると私はあなたのコードをしようと、私はエラーを取得します未定義のプロパティ – Coffee

+0

'Use Illuminate \ Cookie \ CookieJar;'を追加しましたか? '$ request'のためにあなたの関数の引数に自動注入されます。 'function sth(Request $ request)'とそれはコントローラに属していません。 – theMohammedA

+0

うん、私はイルミネイト\ blahblahを使用 – Coffee

関連する問題