2016-06-16 6 views
2

私はLaravelフレームワークの新機能を数日前から学んだばかりで、CookieベースのURLを作成するために自分自身に挑戦しました。つまり、http://localhost/cookie/nickにアクセスすると、Cookie/*に基づいてCookieを保存する必要があります。私はやろうとしましたが、毎回空のクッキーがあります。それは可能ですか?はいの場合誰でも親切に私を導くことができますか?ここに私のコードは次のとおりです。 -URLからCookieを設定する

routes.phpの

Route::get('/cookie/{name}','[email protected]'); 

CookieControllerName.php

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use Illuminate\Http\Response; 
use App\Http\Requests; 

class CookieControllerName extends Controller 
{ 
     public function getCookie(Request $request){ 
       $value = $request->cookie('name'); 
       echo "Hello ".$value; 
     } 
     public function setCookieByUrl(Request $request, $name){ 
       $response = new Response('Hello World'); 
       $response->withCookie(cookie('name', $name, 3600)); 
       $value = $request->cookie('name'); 
       echo $value; //For debugging purpose 
     //  getCookie(); 
     } 
} 

答えて

0

あなたが起こるために何のために$応答変数を返す必要があります。

さらに、スコープ内でさえもgetCookie()を呼び出す関数があるので、コードがどのように動作しているのかわかりません。そして、それは次のようになります。

ます$ this-> getCookie()

だけでgetCookie()を置き換える:

return $response 

少なくとも適切なクッキーのセットを得ることに十分です。

完全なコードブロック:

public function setCookieByUrl(Request $request, $name){ 
     $response = new Response('Cookie has been set'); 
     $response->withCookie(cookie('name', $name, 3600)); 
     return $response; 
} 

enter image description here

Cookie値は、あなたがそれを直接見ることはできません理由がある暗号化されています。

+0

でも問題は...クッキーが空でもあります。私はこれを試しました...クッキーは空です。 'public function setCookieByUrl(Request $ request、$ name){ $ response = newレスポンス( 'Hello World'); $ response-> withCookie(cookie( 'name'、$ name、3600)); $ value = $ request-> cookie( 'name'); echo $ value; ' – MuthaFury

+0

あなたはどのようにコンテンツのコンテンツを見ていますか、「名前」を設定したクッキーを少なくとも持っていますか? –

+0

上記の更新されたコードを試すことができます。 – MuthaFury

関連する問題