如何将用户信息存储在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中,以便我以后可以检索这些值。即name
和rate
。我试图使用以下方式进行审讯:
$value = Request::cookie('name');
echo $value;
但显示:
非静态方法Illuminate \ Http \ Request :: cookie()不应该是 静态呼叫
答案 0 :(得分: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 帮手。除非是cookie,否则不会将此cookie发送回客户端 附加到响应实例
希望这有帮助!
答案 1 :(得分: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','LoginController@cekLogin');
get('showcookies','LoginController@showCookie');