Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Codeigniter modifying session data

Tags:

codeigniter

I store few data in session as the following:

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

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

To modify the "uid" I tried

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

It did not work so I tried

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

It also did not work. Cant find any useful stuff on google. Please help how can I change values in the session??

like image 525
Shahid Karimi Avatar asked Dec 13 '22 09:12

Shahid Karimi


2 Answers

Did you load your session library? $this->load->library('session'); It might be a dumb question but it does not hurt to ask.

What about setting your encryption key? I imagine you would see an error message for that 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');
like image 122
Brad Avatar answered Jan 05 '23 02:01

Brad


Aside from all your typos (of course those matter in programming), you might want to see if you are just confusing yourself and typo'ing the array/value/key name incorrectly:

Do the following:

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

and after doing that you will be one step closer to knowing what typo's or problems you ran into as that will display your session array:

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...
)
like image 35
Jakub Avatar answered Jan 05 '23 01:01

Jakub