我想在codeigniters的会话助手中保存一个数组,但我一直在
我想在一个新的会话变量中保存一个数组数组,以便我可以在另一个控制器中查看该会话,如果我需要它或在另一个视图中。
我的会话在我的配置文件中自动加载。
这段代码在我的视图文件中。 $ arr = array();
#container > div > div:nth-child(2) > div:nth-child(2) > div > div:nth-child(2) > div:nth-child(2) > div > section > ul > li:nth-child(2)
致命错误:调用未定义的方法CI_Session :: new_session_name()
答案 0 :(得分:0)
假设某位特定用户登录您的网站。经过身份验证后,您可以将其用户名和电子邮件地址添加到会话中,从而使您可以全局使用这些数据,而无需在需要时运行数据库查询。
您可以简单地将数据分配给$ _SESSION数组,与任何其他变量一样。或者作为$ this-> session的属性。
或者,也可以使用将其指定为“userdata”的旧方法。然而,这会将包含新数据的数组传递给set_userdata()方法:
$this->session->set_userdata($array);
您的代码应为
foreach($value->result as $val){}
if($val->somethinghappenedtrue){
$arr[] = array('data' => $thethingthathappened);
}
}
// since my session is autoloaded I don't need to initialize
//session if I'm not wrong $this->load->session etc...
$this->session->set_userdata($arr);
如果要一次添加一个userdata值,set_userdata()也支持以下语法:
$this->session->set_userdata('some_name', 'some_value');
如果要验证会话值是否存在,只需使用isset():
进行检查 如果'some_name'项不存在或为NULL,则//返回FALSE, //否则为TRUE:
isset($_SESSION['some_name'])