php – CodeIgniter将会话变量添加到已定义的“命名会话”
发布时间:2020-12-13 17:44:49 所属栏目:PHP教程 来源:网络整理
导读:我已经创建了名为“Verified”的会话,如下所示(在我的登录控制器中): foreach($result as $row){ $sess_array = array( 'id' = $row-memberid,//Session field: id. 'username' = $row-member_userunique //Session field: username. ); // Create a sessio
我已经创建了名为“Verified”的会话,如下所示(在我的登录控制器中):
foreach($result as $row) { $sess_array = array( 'id' => $row->memberid,//Session field: id. 'username' => $row->member_userunique //Session field: username. ); // Create a session with a name verified,with the content from the array above. $this->session->set_userdata('verified',$sess_array); } 现在,当用户打开一个名为book的页面(带有名为book的控制器)时,我想在我的“已验证”会话中再添加一个名为“book_id”的附加变量. 这就是我所做的 function index() { //Add a new varible called book_id $this->session->set_userdata('book_id',$titleID); } 当我尝试使用以下方法检索’book_id’时: $session_data = $this->session->userdata('verified'); $article_id = $session_data['book_id']; $user_id = $session_data['id']; 它只能检索’id’但是’book_id’没有定义.但如果在$this-> session-> all_userdata()上执行var_dump(),我可以看到已成功附加’book_id’会话变量. 阅读关于会话的CI文档后,我意识到上面的代码将无法正常工作,因为我没有告诉它应该将变量添加到哪个会话. 有人能指出我正确的方向吗? 解决方法
您在index()方法中执行以下操作:
$session_data = $this->session->userdata('verified'); $session_data['book_id'] = "something"; $this->session->set_userdata("verified",$session_data); 这样,您可以检索变量的内容(即之前保留的数组),向数组中添加另一个键(book_id),然后再次存储它.现在你可以做,因为我认为你想: $sess = $this->session->userdata("verified"); echo $sess['book_id']; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |