为什么cookie不能在CodeIgniter中运行?

dan*_*nny 4 php cookies codeigniter

我使用此功能添加cookie,它在浏览器选项中可以看到完美添加.

function login($username,$password){

    $cookieUsername = array(
        'name'   => 'user',
        'value'  => md5($username),
        'expire' => time()+1000,
        'path'   => '/',
        'secure' => TRUE
    );

    $cookiePassword = array(
        'name'   => 'pass',
        'value'  => $password,
        'expire' => time()+1000,
        'path'   => '/',
        'secure' => TRUE
    );

    $this->input->set_cookie($cookieUsername);
    $this->input->set_cookie($cookiePassword);

}
Run Code Online (Sandbox Code Playgroud)

我无法从此函数中取回cookie:

 echo $this->input->cookie('user');
Run Code Online (Sandbox Code Playgroud)

请帮忙 - 如何从CodeIgniter获取cookie?

dan*_*nny 10

CI内置函数编写cookie的问题.我改变的是现在我正在设置饼干

setcookie($name,$value,$expire,$path); 
Run Code Online (Sandbox Code Playgroud)

功能并让它重新通过

$this->input->cookie('user',TRUE); 
Run Code Online (Sandbox Code Playgroud)

这是件好事!


Shi*_*dim 8

您无法在同一个http请求上获取cookie.设置cookie后,必须按Set-Cookie标头发送到浏览器.在http事务完成之前,您无法发送标头.之后浏览器将获取cookie,并在下一个请求时,浏览器将通过Cookie标头将其发送到服务器.

来自PHP.NET

在下一次加载可以看到cookie的页面之前,Cookie不会显示.要测试cookie是否已成功设置,请在cookie过期前检查下一个加载页面上的cookie.过期时间通过expire参数设置.

因此,cookie将在下一页加载时可用.