2016-11-13 180 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]');