SOLUTION:
$ _COOKIE用下劃線替代週期。
str_replace('.','-',$cookie_name);
問題
我設置這樣一個cookie。
$cookie_name = '_visited-'.$user_ip.'-'.$visted_link;
setcookie($cookie_name,'visited',time() + (86400 * 30), "/");
header('Location: '.$_SERVER['REQUEST_URI']);
exit;
然後嘗試查看cookie是否已設置,並將其從像這樣的鏈接數組中解除鏈接。
foreach($links['unique'] as $link){
$cookie_name = '_visited-'.$user_ip.'-'.$link;
if(isset($_COOKIE[$cookie_name])){
if(($key = array_search($l, $links['unique'])) !== false) {
unset($links['unique'][$key]);
}
}
}
奇怪的是,即使cookie被在foreach使用isset明確規定我不能檢測到該Cookie存在,所以我無法刪除訪問過的鏈接。
這是請求一個單獨的時間。 Cookie設置完成後,不在同一頁上重新加載頁面。 – AvalonRychmon