После множества тестов я не могу понять, откуда взялась проблема.
У меня есть контроллер с этим:
Cookie::queue('email', '[email protected]', 60 * 24 * 365);
Я использую очередь, потому что ответ - это json, исходящий от ajax.
Тогда, на мой взгляд:
{{ cookie('email') }}
И ответ такой:
email=deleted; expires=Mon, 18-Dec-2017 09:55:51 GMT; Max-Age=0; path=/; httponly
Я вижу, что cookie создается, срок действия которого истекает через 1 год, но я все равно перезагружаю страницу на всякий случай, но результат тот же. Я пробовал на всякий случай разные имена файлов cookie, например sdfsdfad43fsa, но результат тот же.
Я получаю тот же результат, если попробую laravel_sesion.
Если я попробую:
{{ Cookie::get('laravel_sesion') }}
Работает, но не в случае "электронной почты"
htmlspecialchars() expects parameter 1 to be string, array given
Довольно просто, правда? Я не понимаю, что делаю неправильно? Может какая-то CSRF или какая-то другая проблема?
Попробуй это:
var_dump(Cookie::get('email'))
Вы увидите, что вы, вероятно, отправляете массив, возможно, вы забыли очистить файлы cookie от предыдущего сохранения.
Кроме того, используйте его для получения файла cookie:
{{ Cookie::get('email') }}
Мир