ホームページ >バックエンド開発 >PHPチュートリアル >ユーザーが閲覧したことを示すために各記事に COOKIE を追加するのは合理的ですか?

ユーザーが閲覧したことを示すために各記事に COOKIE を追加するのは合理的ですか?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-23 13:54:481015ブラウズ

最近、記事システムの機能の 1 つが、現在の記事の閲覧数 (トラフィック) をカウントすることです


私の記事のアドレスは news.php?id=123 です

オンラインで方法を見つけました

$gid = $_GET["id];if( !isset($_COOKIE["user"]) ){ 	setcookie("user","newGuest",time()+3600); }else { 	setcookie("user","oldGuest"); } if ( $_COOKIE["user"] != "oldGuest") {	$hits_now = $row["hits"]+1;	$pdo->exec("UPDATE `gamedb_game` SET `hits`='$hits_now' WHERE `id` = '$gid'");	}



この場合、同じように2回ブラウザを更新しても閲覧数は増えません

でも、違うと思ったら他の記事を試してみると、初めて閲覧しても閲覧数は増えます。増えない

だったらこうした方が良いのではないか

$gid = $_GET["id];if( !isset($_COOKIE["user"]) ){ 	setcookie("user","newGuest",time()+3600); }else { 	setcookie("user","oldGuest_$gid"); } if ( $_COOKIE["user"] != "oldGuest_$gid") {	$hits_now = $row["hits"]+1;	$pdo->exec("UPDATE `gamedb_game` SET `hits`='$hits_now' WHERE `id` = '$gid'");	}


oldGuestをoldGuest_$gidに変更 最後に記事IDを追加すると一意になりますね

でもこれではこの場合、ユーザーのブラウザにある程度の悪影響を及ぼしますか?

それとも他のCMでもこれを行うのでしょうか?

初めてかどうかに合わせてSQLを書きたい場合は、複雑すぎます

唯一の思い浮かぶのはCookieです


この方法は自分のホストとユーザーに適しています、どうなりますか?


ディスカッションに返信(解決策)

閲覧数を増やして更新するのは問題ありません
どうしても見られないようにする方法を使いたい場合は、それをキャッシュに入れて時間を設定し、指定された時間に 1 回だけ実行することができます。これが多くの Web サイトで行われている方法です。
メソッドとしては、記事 ID を配列に入れてシリアル化し、Cookie に保存して試してみることができます。

ユーザーが閲覧した記事のタイトルを Cookie に記録し、次回ユーザーが Web ページを開いて記事を再度閲覧したときに、最後に閲覧した記事の記録が残ります。これは、商品を閲覧したときと似ています。ショッピングサイトでは、前回の閲覧履歴が残っているので、次回も確認することができます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。