[英]how to use cookie in laravel 5.4 to store data
我正在創建一個網站,該網站需要存儲用戶信息並保存到Cookie。 這是我的cookie控制器
public function index($id, Request $request)
{
$petitions = Petitions::where('id',$id)->first();
$sign->name = $request->cookie('name');
$sign->email = $request->cookie('email');
return view('petitions.index', compact('petitions'))->with(['name'=>$sign->name,'email'=>$sign->email]);
}
這是設置cookie控制器
public function store(Request $request)
{
$sign = new ActionUsers();
$sign->name = $request->get('name');
$sign->email = $request->get('email');
$sign->job = $request->get('job');
$sign->reason = $request->get('reason');
$sign->ip_address = $request->get('ip_address');
$sign->petition_id = $request->get('petition_id');
$sign->is_anonymous = $request->get('is_anonymous');
$sign->save();
$name_cookie = cookie('name', $sign->name, 30);
$email_cookie = cookie('email', $sign->email, 30);
return back()->withCookie($name_cookie,$email_cookie);
}
我查看Cookie的視圖已存在
@if( isset($sign->name) && isset($sign->email) )
done!
@else Oops! Error
並返回錯誤,從$ sign-> name = $ request-> cookie('name');中的空值創建默認對象; $ sign-> email = $ request-> cookie('email');
有人幫我解決這個問題! 謝謝
嘗試將store函數返回為:
return back()->withCookie($name_cookie)->withCookie($email_cookie);
做這件事有很多種方法:
$response = new \Illuminate\Http\Response(view('your_view'));
$response->withCookie(cookie('cookieName' , 'cookieValue' , expires_in_minutes));
return $response;
要么
\Cookie::queue('cookieName', 'cookieValue', expires_in_minutes);
return view('your_view');
您還可以使用以下代碼獲取Cookie:
$request->cookie('coockieName');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.