• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Array cookie

From PHP manual:

Example #3 setcookie() and arrays

You may also set array cookies by using array notation in the cookie name. This has the effect of setting as many cookies as you have array elements, but when the cookie is received by your script, the values are all placed in an array with the cookie's name:

// set the cookies
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");

// after the page reloads, print them out
if (isset($_COOKIE['cookie'])) {
foreach ($_COOKIE['cookie'] as $name => $value) {
echo "$name : $value <br />\n";

How this can be done with CI cookie's library?


Not sure about CodeIgniter allowing it, but in the mean time you can serialize your data into one string so you can store the array in a single cookie.

Just one option.

From looking at the helper it looks like it does support arrays.

Seems like it may work something like this:
set_cookie(array('name' => 'cname', 'value' => 'cvalue1'));
set_cookie(array('name' => 'cname', 'value' => 'cvalue2'));

The second set_cookie call just overwrites the first one.

I just gave this a try...
set_cookie(array('name' => 'cname[one]', 'value' => 'cvalue1', 'expires' => '86500'));
set_cookie(array('name' => 'cname[two]', 'value' => 'cvalue2', 'expires' => '86500'));

And it worked fine. Shouldn't be a problem using a cookie array.

What's wrong with:

$array['one'] = 'value';
$array['two'] = 'value2';
set_cookie(array('name'=>'array', 'value'=$array));


Because I'm pretty sure you can't store an array in a cookie.

you can't? Oh...

I thought I'd used it once, but now you mention it, I don't think I ever did...

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  

  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2020 MyBB Group.