$apply_id=25;
if(isset($_COOKIE['apply'])){$apply_cookie=$_COOKIE['apply'];}
else{$apply_cookie=serialize(array());}
$apply_cookie=unserialize($apply_cookie);
//HAVE COOKIE
if(in_array($apply_id, $apply_cookie)==TRUE){echo "COOKIE=TRUE<BR>"; print_r($apply_cookie);}
else{
//NO COOKIE,DB HAVE RECORDED
$db=FALSE;//I don't want to query, so just set TRUE FALSE
if($db==TRUE){
echo "COOKIE=FALSE; DB=TRUE";
$apply_cookie[]=$apply_id;
$apply_cookie=serialize($apply_cookie);
setcookie("apply", $apply_cookie);
}
else{
//NO COOKIE,NO RECORDED
echo "COOKIE=FALSE, DB=FALSE";
$apply_cookie[]=$apply_id;
$apply_cookie=serialize($apply_cookie);
setcookie("apply", $apply_cookie);
//process the apply query...
}
}
適用ボタンに Cookie を設定しました。ユーザーが適用されている場合は、メッセージをポップして再度クエリを実行します。Cookie がない場合は、データベースをチェックして Cookie を更新します。
配列を Cookie に保存 (シリアル化解除) し、in_array を使用して確認します。
ただし、ユーザーが Cookie を変更しようとすると、シリアライズ解除でエラーが発生します。
次のように設定する方法はありますか-if unserialize=FALSE apply_cookie=array();
そんな感じ