2016-11-13 4 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, так что я могу впоследствии извлечь эти значения. то есть name и rate. Я пытался извлечь с помощью:

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

но отображается:

Non-статический метод Осветите \ Http \ Request :: куки() не должен быть называется статически

ответ

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));' не похоже на wotk. – 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]'); 
Смежные вопросы