0
$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();

そんな感じ

4

3 に答える 3