仅当未设置 cookie 并且刚刚设置时,我才需要运行查询。(换句话说,这是用户第一次访问该页面)
我尝试了以下方法:
$cookiename = "item_".$itemid;
if(!isset($_COOKIE[$cookiename])){
setcookie($cookiename, "viewed", time()+60*60*18);
$was_set="no";
}
//if it wasn't set and now it is
if(isset($_COOKIE[$cookiename]) and $was_set=="no") {
mysql_query("UPDATE items_details SET views=views+1 where iid=$itemid");
echo "<!-- +1 view -->";
}
else {
echo "<!-- +0 views -->";
}
第一部分效果很好,如果没有设置 cookie,但第二部分不起作用,它总是返回+0 视图
isset($_COOKIE[$cookiename])
表达式总是返回 false,即使 cookie 只设置在上面 6 行。