【发布时间】:2014-09-23 06:09:54
【问题描述】:
当我创建一个 cookie 时,$response 对象可以完美地读取它,但是当页面刷新时我得到一个空数组。在google上搜索示例,发现必须使用请求对象来完成,但它根本不起作用。你知道我缺少什么吗?
public function indexAction(Request $request) {
$response = new Response();
var_dump($response->headers->getCookies()); //GIVES EMPTY ARRAY
var_dump($request->cookies->all()); //GIVES ONLY PHPSESSID, BUT NOT THE ONE CREATED
var_dump($request->cookies->get('user')); //GIVES NULL
// ... //
if ($loginForm->isValid()) {
$em = $this->getDoctrine()->getManager();
$dql = // ... // ));
$result = $dql->getArrayResult();
if ($result) {
foreach ($result as $profile) {
$cookie = // ... //
$response->headers->setCookie(new Cookie('user', $cookie, $expire = 0, $path = '/', $domain = 'null', $secure = false, $httpOnly = false));
$response->sendHeaders();
}
var_dump($response->headers->getCookies()); //GIVES CORRECT COOKIE OBJECT
var_dump($request->cookies->all()); //GIVES ONLY PHPSESSID, BUT NOT THE ONE CREATED
var_dump($request->cookies->get('user')); //GIVES NULL
}
【问题讨论】:
标签: php symfony cookies request response