Cookie 在那里,但我无法在 CodeIgniter 中获取它们。为什么?
Cookies are there, but i can't get them in CodeIgniter. Why?
Codeigniter:当用户登录时,我想保存一个包含电子邮件的 cookie。
$cookie = array(
'name' => 'email',
'value' => $email,
'expire' => time()+3600*24*30*30,
//'domain' => '.racebooking.net',
'path' => '/',
'secure' => TRUE
);
$this->input->set_cookie($cookie);
此代码运行后,如果我查看 Firebug,我可以看到 cookie 已正确设置。这是我看到的:
name value domain raw size path expires Security
email fontanavideostudios@gmail.com www.test.racebooking.net 36 B / 07/09/2062 20:50:15 Secure
不幸的是,当我尝试按如下方式检索它时
$this->input->cookie('email', TRUE);
我一无所获。 cookie 在那里,但我无法在 CI 中获取它。知道为什么吗?该网站安装在 www.test.racebooking.net
(我在生产前用于测试的子域)
cookie('some_cookie');
如果您尝试检索的项目不存在,则函数 returns FALSE(布尔值)。
来源:https://www.codeigniter.com/user_guide/libraries/input.html
还有:
https://www.codeigniter.com/user_guide/helpers/cookie_helper.html
好的,(我想)我找到问题了!通过将 .racebooking.net
设置为域,而不是将其留空(因此,自动设置为 www.test.racebooking.net
),我修复了它。
$cookie = array(
'name' => 'email',
'value' => $email,
'expire' => time()+3600*24*30*30,
'domain' => '.racebooking.net',
'path' => '/',
'secure' => TRUE
);
$this->input->set_cookie($cookie);
现在我可以检索 cookie 值了。
"why does this happen" 问题仍然悬而未决。
Codeigniter:当用户登录时,我想保存一个包含电子邮件的 cookie。
$cookie = array(
'name' => 'email',
'value' => $email,
'expire' => time()+3600*24*30*30,
//'domain' => '.racebooking.net',
'path' => '/',
'secure' => TRUE
);
$this->input->set_cookie($cookie);
此代码运行后,如果我查看 Firebug,我可以看到 cookie 已正确设置。这是我看到的:
name value domain raw size path expires Security
email fontanavideostudios@gmail.com www.test.racebooking.net 36 B / 07/09/2062 20:50:15 Secure
不幸的是,当我尝试按如下方式检索它时
$this->input->cookie('email', TRUE);
我一无所获。 cookie 在那里,但我无法在 CI 中获取它。知道为什么吗?该网站安装在 www.test.racebooking.net
(我在生产前用于测试的子域)
cookie('some_cookie');
如果您尝试检索的项目不存在,则函数 returns FALSE(布尔值)。
来源:https://www.codeigniter.com/user_guide/libraries/input.html
还有: https://www.codeigniter.com/user_guide/helpers/cookie_helper.html
好的,(我想)我找到问题了!通过将 .racebooking.net
设置为域,而不是将其留空(因此,自动设置为 www.test.racebooking.net
),我修复了它。
$cookie = array(
'name' => 'email',
'value' => $email,
'expire' => time()+3600*24*30*30,
'domain' => '.racebooking.net',
'path' => '/',
'secure' => TRUE
);
$this->input->set_cookie($cookie);
现在我可以检索 cookie 值了。 "why does this happen" 问题仍然悬而未决。