Cookies arent being set in my first view.
Is this how it should be ? or am I mistaken
Please view the code below for further illustration:
if( !get_cookie('rate') ){
$cookie_rate = array(
'name' => 'rate',
'value' => '10',
'expire' => '100000'
);
set_cookie($cookie_rate);
}
var_dump( get_cookie('rate') ); //returns ( boolean false )
if( !isset($_COOKIE['foo']) ){
$_COOKIE['foo'] = 'bar';
}
var_dump( $_COOKIE['foo'] ); // This yields string 'bar' (length=3) on the first visit
Doing the same thing with php cookies yeilds an array with cookie values.
- This problem persists only in the first visit of a page.
This isn’t a CodeIgniter vs PHP issue. You just don’t understand how cookies work.
Cookies are a header sent by the server which the browser must send back on subsequent requests.
$this->input->set_cookie()andset_cookie()send a cookie header.$_COOKIESon PHP (and thus$this->input->cookie()and therefore theget_cookie()helper) only contain cookies which the browser sent.Thus when you set a cookie with
set_cookie(), you won’t be able toget_cookie()until the browser’s next request.