2011-05-26 130 views
7

嗨,我想问一下,例如,是否有可能更新在codeigniter中保存在数据库中的会话数据。我有一个会话用户数据(角色ID,名称,logged_in),这样当有人登录时,生病只需拨打$data['name'] = $this->session->userdata('name');,并在我的标题视图中回显为<?php echo $name; ?>,问题是当用户更新他的名字或姓氏,当我这样做codeigniter中的会话更新

$fname = $this->input->post('fname'); 
$lname = $this->input->post('lname'); 

$fullname = $fname." ".$lname; 
$this->session->unset_userdata('name'); 
$this->session->set_userdata('name',$fullname); 

它不工作..

//编辑 WORKING现在...只是错字和语法ERRROR

+1

是第二未设置应该读取set_权利? – 2011-05-26 03:05:58

+1

oh im so dumb .. it working ayt now .. :)谢谢 – 2011-05-26 03:15:09

回答

16

如果要更新会话数据,用途:

$this->session->set_userdata('name', $fullname); 

没有必要使用unset_userdata 更多信息here

0

你不要再重新声明会话,只使用代码:

$this->session->set_userdata('session_variable_name', $newvalue); 

例子:

新会议声明:

$this->session->set_userdata(
       array(
       'year' => 2017 
       )); 

更新当前会话值“年”到“2018”:

$this->session->set_userdata('year', 2018); 
1

要更新会话数据,没有必要取消设置会话数据项
的解决方案是为遵循,
$this->session->set_userdata('name', $updatedName);