Codeigniter修改会话数据

时间:2011-10-03 10:59:29

标签: codeigniter

我在会话中存储的数据很少,如下所示:

$session_data = array("uid" => "test user", "loged_in" => true);

$this->session->set_userdata($session_data);

要修改我试过的“uid”

$uid = array("uid" => "New user");
$this->session->set_userdata($uid);

没用,所以我试过

 $this->session->set_userdata("uid","New user");

它也没用。无法在谷歌上找到任何有用的东西。请帮助我如何更改会话中的值??

3 个答案:

答案 0 :(得分:9)

您是否加载了会话库? $这 - >负载>库( '会话');这可能是一个愚蠢的问题,但问问题并没有什么坏处。

设置加密密钥怎么样?我想你会看到https://www.codeigniter.com/user_guide/libraries/encryption.html

的错误消息
$session_data = array('uid' => 'test user', 'logged_in' => TRUE);
$this->session->set_userdata($session_data);

// modify session
$this->session->set_userdata('uid', 'New user');

答案 1 :(得分:2)

除了你的所有拼写错误(当然是编程中的那些问题),你可能想看看你是否只是在混淆自己并错误地错误地输入数组/值/键名:

执行以下操作:

echo "<pre>";
print_r($this->session->all_userdata());
echo "</pre>";

并且在这样做之后,您将更接近知道您遇到的错误或问题,因为它将显示您的会话数组:

Array
(
    [session_id] => 4a5a5dca22728fb0a84364eeb405b601
    [ip_address] => 127.0.0.1
    [user_agent] => Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7;
    [last_activity] => 1303142623
    [uid]        => 2
    etc...
)

答案 2 :(得分:1)

///set session data
$data = array('Id' => 'test Id', 'is_logged_in' => TRUE);
$this->session->set_userdata($data);

// modify session data
$this->session->set_userdata('Id', 'New test Id');