Php Codeigniter会话类的问题
这是我的问题。。。我将这些行添加到CI_控制器的构造中Php Codeigniter会话类的问题,php,codeigniter,session,Php,Codeigniter,Session,这是我的问题。。。我将这些行添加到CI_控制器的构造中 $this->load->library("session"); if($this->session->userdata("var")==FALSE) { $this->session->set_userdata("var", "value"); } 当我在子类中使用$this->session->userdata(“var”)时,它没有值。我通过在
$this->load->library("session");
if($this->session->userdata("var")==FALSE)
{
$this->session->set_userdata("var", "value");
}
当我在子类中使用$this->session->userdata(“var”)时,它没有值。我通过在CI_COntroller的构造和子类的构造中显示$this->session->userdata(“var”)的值来测试它,它在父类上显示值,但在子类上不显示
还有一件事,在重新加载页面3到4次后。它工作得很好
我将非常感谢你的回答。(很抱歉我不会说英语)你本可以这样做的
$this->load->library("session");
$var = $this->session->userdata("var");
if(!$var)
{
$this->session->set_userdata("var", "value");
}
你本可以这样做的
$this->load->library("session");
$var = $this->session->userdata("var");
if(!$var)
{
$this->session->set_userdata("var", "value");
}
你应该这样做
$this->load->library("session");
if(!$this->session->userdata("var"))
{
$this->session->set_userdata("var", "value");
}
原因userdata()
方法在设置或不设置会话数据时返回false和true。您应该这样做
$this->load->library("session");
if(!$this->session->userdata("var"))
{
$this->session->set_userdata("var", "value");
}
原因
userdata()
如果设置或未设置会话数据,则方法返回false和true。是否使用cookie或存储在数据库中?mmmm。。。我使用codeigniter的库会话,它不适用于cookies吗?。。。我不明白你的意思会话库默认在cookies中存储数据,除非你将配置设置为使用数据库存储会话。哦,我明白了。。。所以我在使用cookies你能检查Firebug或Webkit控制台,看看你是否在请求中得到一个设置的Cookie响应头吗?你是在使用Cookie还是存储在数据库中?嗯。。。我使用codeigniter的库会话,它不适用于cookies吗?。。。我不明白你的意思会话库默认在cookies中存储数据,除非你将配置设置为使用数据库存储会话。哦,我明白了。。。所以我在使用Cookies你能检查Firebug或Webkit控制台,看看你是否在请求上得到了一个设置的Cookie响应头吗$var和$var==FALSE
相同的表达式?@kidonchu无论如何,最佳实践是我在上面的答案中向你展示的;)是不是$var
和$var==FALSE
相同的表达式?@kidonchu无论如何,最佳实践是我在上面的答案中向你展示的;)