I have a cookie which stores info in an array.
This is for a classifieds website, and whenever users delete their ‘ads’ the cookie must also be removed of the ad which was deleted.
So I have this:
if (isset($_COOKIE['watched_ads'])){
$expir = time()+1728000;
$ad_arr = unserialize($_COOKIE['watched_ads']);
foreach($ad_arr as $val){
if($val==$id){ // $id is something like "bmw_m3_10141912"
unset($val);
setcookie('watched_ads', serialize($ad_arr), $expir, '/');
}
}
}
This doesn’t work… any idea why? I think its a problem with the unset part…
Also, keep in mind if there is only one value inside the array, what will happen then?
Thanks
You got two bugs here: 1) you unset the
$valinstead of the array element itself. 2) You set the cookie within the loop to the unknown$ad_arr2array.