2016-11-13 186 views
1

如何將用戶信息存儲在cookie中。我有這樣的形式:在cookie中存儲詳細信息

<form action="{{url('/Profile/details')}}" method="POST"> 
{!!csrf_field()!!} 
<input type="text" name="name" class="form-control"><br> 
<select name="rate" class="form-control"> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
<option value="4">4</option> 
<option value="5">5</option> 
</select> 
<input type="submit" class="form-control" value="Vote"> 
</form> 

我真的不希望在數據庫中存儲這些信息,而想在cookie來存儲,這樣我可以在以後retreive這些值。即namerate。我試着用中檢索:

$value = Request::cookie('name'); 
echo $value; 

但它顯示:

非靜態方法照亮\ HTTP \支持::餅乾()不應該被 靜態調用

回答

2

您可以在session()cookie()這樣的產品中保存這些信息:

class HomeController extends Controller 
{ 
    // Store using sessions like this: 
    public function index() 
    { 
     $inputs = request()->all(); 

     // Store it in session with key-pair values retrieved from the form 
     session($inputs); 

     // Retrieve session values by name (key - value pairs) 
     session()->pull('key', 'default_value'); 
    } 

    // Or by using cookies like this: 
    public function index() 
    { 
     $inputs = request()->all(); 

     // Creates cookie instance 
     $minutes = 60; 
     $cookie = cookie('name', $inputs['value'], $minutes); 
     return response('Hello World')->cookie($cookie); 
    } 
} 

如果你想生成一個 Symfony\Component\HttpFoundation\Cookie實例可以給 的響應例如在以後的時間,你可以使用全球餅乾 幫手。這個cookie將不會被髮送回客戶端,除非它被連接到響應實例

希望這有助於!

+0

我怎麼做它沒有任何反應。 'Cookie(cookie('name',$ request-> name,60));'似乎沒有用。 – Steve

1

您可以使用此2個功能:

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

class LoginController extends Controller 
{ 
    public function showCookie(Request $request) { 
     return $request->cookie('name'); 
    } 

    public function cekLogin() { 
     return response('Cookie set!')->withCookie(cookie('name', 'my value', 60)); 
    } 
} 

,然後打電話給他們喜歡的:

post('ceklogin','[email protected]'); 
get('showcookies','[email protected]');