Welcome Guest, Not a member yet? Register   Sign In
Sessions, second call to set_userdata fails to set value
#1

[eluser]Skiedra[/eluser]
Problem: I set an array into an encrypted cookie via sessions using this:

Code:
$newdata = array(
   'userId'     => $register['result'],
   'loggedIn'     => TRUE,    
   'login'     => $this->input->post('username')
);
      
$this->session->set_userdata($newdata);


Bit later I do:
Code:
$serviceId = 0;
$this->session->set_userdata('serviceId' => $serviceId);


And the var_dump($this->session->userdata) shows all $newdata variables set, yet serviceId is showing as false.
#2

[eluser]Madoc[/eluser]
I do not think it fails to set the data. your 0 value is (I think) interpreted as false by php.
#3

[eluser]Skiedra[/eluser]
0 is just an example. The value itself does not matter

If I move the 'serviceId' => $serviceId into the array above, it works ok.
#4

[eluser]Madoc[/eluser]
Sorry I did not spot it before ! Your use of the userdata function for single value is wrong.

Code:
$this->session->set_userdata('serviceId' => $serviceId);

//should be replaced by
$this->session->set_userdata('serviceId',$serviceId);
#5

[eluser]Skiedra[/eluser]
My bad, I was using $this->session->set_userdata(array('serviceId' => $serviceId));

I need to read docs more carefully. Thanks for pointing, Madoc




Theme © iAndrew 2016 - Forum software by © MyBB