実現したいこと:アクセス履歴(アクセス数・ログインした日時)を表示、消去するページ。
発生している不具合:「履歴消去」ボタンを押すと、消去される代わりに更新(アクセス数追加、日付更新)されます。二回目にボタンを押すことで、やっと履歴が消去されます。
分からないところ:不具合の解決策 + なぜこのコードでは、一度のボタン操作で履歴を消すことができないのか。なぜ一回目にボタンを押す時は、逆に更新されてしまうのか。がわからないです。
※Cookieの学習を最近はじめたばかりで、理解ができていない面もあるので
お手柔らかにご回答をして頂けると幸いです。
<!doctype html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Cookie_Practice</title> </head> <body> <?php $now = date('Y-m-d H:i:s'); $now_time = time(); if(!isset($_COOKIE['visit_count'])){ setcookie('visit_count', 1, $now_time + 3600); setcookie('visit_history', $now, $now_time + 3600); print '初めてのアクセスです'."<br>"; print '現在の日時は'.$now."<br>"; } else { $count = $_COOKIE['visit_count'] + 1; $visit_history = $_COOKIE['visit_history']; setcookie('visit_count', $count); setcookie('visit_history', $now); print '訪問回数は'.$count."<br>"; print '現在の日時は'.$now."<br>"; print '前回のアクセス日時は'.$visit_history."<br>"; } if(isset($_POST['delete_cookie'])){ setcookie('visit_count', '', $now_time - 3600); setcookie('visit_history', '', $now_time - 3600); } ?> <form method="POST" action="challenge_cookie.php"> <input type="submit" name="delete_cookie" value="履歴消去"> </form> </body> </html>
回答2件
あなたの回答
tips
プレビュー