Почему cookie не устанавливаются перед редиректом?
Подскажите пожалуйста почему cookie не устанавливаются перед редиректом?
Сам редирект работает, но куки не устанавливаются.
Но а если убрать редирект, то куки устанавливаются.
Код на CodeIgniter 4
<?php namespace App\Controllers;
class Home extends BaseController
{
public function index()
{
helper('cookie');
set_cookie('hash', 123, 60*60*24*30*12);
return redirect()->route('user');
}
}
Ответы (2 шт):
Автор решения: Sergey Mironov
→ Ссылка
Нашел такое решение, других вариантов похоже нет
<?php namespace App\Controllers;
class Home extends BaseController
{
public function index()
{
helper(['url', 'cookie']);
set_cookie('hash', 123, 60*60*24*30*12);
return "<meta http-equiv='REFRESH' content='0;url=". base_url() ."'><body><a href='". base_url() ."'>Continue...</a></body>";
}
}
Автор решения: Alexander Semikashev
→ Ссылка
Там вроде какой-то подвох был, попробуйте так:
return redirect()->route('user')->setCookie('hash', 123, 60*60*24*30*12)->send();
или так
set_cookie('hash', 123, 60*60*24*30*12);
return redirect()->route('user')->withCookies();