cookie::make 不保存 cookie Laravel 8
cookie::make does not save the cookie in Laravel 8
我错过了什么吗?我正在努力解决cookie的这种简单使用。我的意图只是为每个用户保存一个变量(我尝试了会话并且存在副作用问题)。下面的代码理论上应该保存下次调用页面时应该存在的 cookie,对吗?这没用。我错过了什么?
class TestController extends Controller
{
public function show($page) {
echo @Cookie::get('testcookie');
if (Cookie::get('testcookie')) { echo 'cookie exists<br>'; }
else { echo 'cookie does not exist<br>'; }
$cookie = Cookie::make('testcookie','5', 120);
echo $cookie;
return view('tests.'.$page,['page' => $page]);
}
}
我还按照建议修改了 config/session.php,以便在 http://localhost 上使用。我应该 clean/cache... 还是类似的。我在 OSX.
上使用 laravel 8 & FF
'secure' => env('SESSION_SECURE_COOKIE', false)
有人可以告诉我我做错了什么吗?
如果我尝试另一种响应方式...
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Response;
public function show($page, Request $request)
{
echo $request->cookie('name');
if ($request->cookie('name')) { echo 'cookie exists<br>'; } else { echo 'cookie does not exist<br>'; }
$response = new Response('Set Cookie');
$cookie = $response->withCookie(cookie('testcookie','5', 120));
echo $cookie;
return view('tests.'.$page,[
'page' => $page
]);
}
我收到错误消息“调用未定义的方法 Illuminate\Support\Facades\Response::withCookie()”。
为什么php这么复杂又这么简单?
您必须发送带有响应的制作 cookie。
Cookie::make() 只是在您的支持下创建 cookie 对象 - 但是,如果您不将它们发送给用户 - 他将无法保存它们。
class TestController extends Controller
{
public function show($page) {
//for debug
if ($cookie = Cookie::get('testcookie')) { dump ($cookie); }
$cookie = Cookie::make('testcookie','5', 120);
return response()
->view('tests.'.$page,['page' => $page])
->withCookie($cookie);
}
}
我错过了什么吗?我正在努力解决cookie的这种简单使用。我的意图只是为每个用户保存一个变量(我尝试了会话并且存在副作用问题)。下面的代码理论上应该保存下次调用页面时应该存在的 cookie,对吗?这没用。我错过了什么?
class TestController extends Controller
{
public function show($page) {
echo @Cookie::get('testcookie');
if (Cookie::get('testcookie')) { echo 'cookie exists<br>'; }
else { echo 'cookie does not exist<br>'; }
$cookie = Cookie::make('testcookie','5', 120);
echo $cookie;
return view('tests.'.$page,['page' => $page]);
}
}
我还按照建议修改了 config/session.php,以便在 http://localhost 上使用。我应该 clean/cache... 还是类似的。我在 OSX.
上使用 laravel 8 & FF'secure' => env('SESSION_SECURE_COOKIE', false)
有人可以告诉我我做错了什么吗?
如果我尝试另一种响应方式...
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Response;
public function show($page, Request $request)
{
echo $request->cookie('name');
if ($request->cookie('name')) { echo 'cookie exists<br>'; } else { echo 'cookie does not exist<br>'; }
$response = new Response('Set Cookie');
$cookie = $response->withCookie(cookie('testcookie','5', 120));
echo $cookie;
return view('tests.'.$page,[
'page' => $page
]);
}
我收到错误消息“调用未定义的方法 Illuminate\Support\Facades\Response::withCookie()”。
为什么php这么复杂又这么简单?
您必须发送带有响应的制作 cookie。
Cookie::make() 只是在您的支持下创建 cookie 对象 - 但是,如果您不将它们发送给用户 - 他将无法保存它们。
class TestController extends Controller
{
public function show($page) {
//for debug
if ($cookie = Cookie::get('testcookie')) { dump ($cookie); }
$cookie = Cookie::make('testcookie','5', 120);
return response()
->view('tests.'.$page,['page' => $page])
->withCookie($cookie);
}
}