2

ユーザーがサイトの X ページにアクセスしたときに特定のアクションを実行したい

カウンターを外部 (txt ファイルまたはデータベース) に保存する必要がありますか?

カウンターを 0 に設定し、ページの読み込みごとにインクリメントする方法が思いつきません。カウンターは常に 0 にリセットされますか、それとも明らかな何かが欠けていますか?

4

6 に答える 6

14

$_SESSIONデータを使用して、個人が閲覧したページ数を保存するのは非常に簡単です。

$_SESSION['pageviews'] = ($_SESSION['pageviews']) ? $_SESSION['pageviews'] + 1 : 1;
于 2009-05-14T18:48:35.147 に答える
1

最も簡単な方法は、PHP のセッション ストレージを使用することです。

session_start();
@$_SESSION['pagecount']++;

PHP は自動的にユーザーにセッション Cookie を送信し、$_SESSION の内容をこの Cookie に関連付けられたフラット ファイルに透過的に保存します。この問題に対して独自のソリューションを展開する必要はありません。

于 2009-05-14T18:51:09.943 に答える
0

サイトを離れて別の日に戻ってきた場合でも、ユーザーが誰であるかを特定する方法 (ユーザー名とパスワードなど) は既にありますか? それとも、訪問者が閲覧したページ数を追跡し、閲覧した x 番目のページで何か特別なことをしたいだけですか?

2 番目の場合は、カウンターを格納できるセッション変数が既にあります。

$_SESSION['views'] = $_SESSION['views'] + 1
if($_SESSION['views'] == x) ...
于 2009-05-14T18:48:39.047 に答える
0

ユーザーが最初にページにアクセスしたときにセッションを開始し、ユーザーがサブページを再読み込み/訪問するたびに値を増やすことができます。それを行う別の方法は、すべてのページに非表示フィールドを設定し、その値を取得してインクリメントし、新しいページに投稿することです。

<input type="hidden" value="2" id="blabla" />
于 2009-05-14T18:44:59.257 に答える
-2

if ステートメントを使用して、既に設定されているかどうかを確認します。

if( isset($count) )
{
   $count = $count + 1;
}
else
{
   $count = 1;
}

get メソッドを使用してカウントを URL に入れることもできるので、ファイルやデータベースにカウントを書き込む必要はありません。

于 2009-05-14T18:44:28.417 に答える