前提・実現したいこと
phpでcookieを使用して訪問回数をカウントする機能を作っています。
setcookie関数を使用してcookieのセット・リセットを行っています。
10回目の訪問時はcookieをリセットしたいのですが、setcookie('visit',0,time()-60);
で過去の日付にしてもリセットされずそのままカウントされていきます。
unset($_COOKIE['visit']);
を行うと意図したとおり動きますが、setcookie関数を使用する上でどこがまちがっているのかを知りたいです。
よろしくお願いします。
該当のソースコード
<?php //訪問回数10回目ならカウントリセット if($_COOKIE['visit'] >= 9){ setcookie('visit',0,time()-60); } //訪問回数判定 if(isset($_COOKIE['visit'])){ $counter = $_COOKIE['visit'] + 1; setcookie('visit',$counter,time()+60*60*24); $_COOKIE['visit'] = $_COOKIE['visit'] + 1; echo 'こんにちは!あなたの訪問は'.$_COOKIE['visit'].'回目です<br>'; }else{ echo 'ようこそ!初めての訪問ありがとうございます!<br>'; setcookie('visit',1,time()+60*60*24); } ?> <!DOCTYPE html> <html lang="ja"> <body> </body> </html> ``` ### 補足情報(FW/ツールのバージョンなど) PHP・XAMPP 5.6.14
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/17 14:28
退会済みユーザー
2020/02/17 14:28