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

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

WBOY
リリース: 2016-06-23 13:54:48
オリジナル
1011 人が閲覧しました

最近、記事システムの機能の 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 ページを開いて記事を再度閲覧したときに、最後に閲覧した記事の記録が残ります。これは、商品を閲覧したときと似ています。ショッピングサイトでは、前回の閲覧履歴が残っているので、次回も確認することができます。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート