0

現在、次のコードがあります。

<?php
session_start();

if (!isset($_SESSION['views'])) { 
$_SESSION['views'] = 0;
}

$_SESSION['views'] = $_SESSION['views']+1;

if ($_SESSION['views'] > 100) {
Execute Code
}

?>

100ページを表示した後、ページの内容が変わるようにしています。

このコードの問題は、すべてのユーザーに対して同じように機能しないことです。すべての訪問者に対してグローバルではなく個別にカウントされます。

これを達成する方法はありますか?

4

4 に答える 4

0

$_SESSIONグローバルではなく、ユーザーごとに情報を保存できます。

最も簡単な方法は、次のようなコードを使用して、ビューの数をファイルに保存することです。

// read previous count
$filename = 'hitcount.txt';
$handle = fopen($filename, 'r');
$views = trim(fgets($handle)) + 1; // read and increment for current view.
fclose($handle);

$handle = fopen($filename, 'w');
fwrite($handle, $views); // replace previous count
fclose($handle);

if($views > 100){
// do some stuff
}
于 2013-07-16T14:04:13.380 に答える
0

A$_SESSIONは (アプリケーション全体ではなく) ユーザーごとに保存されるため、データベースまたはテキスト ファイルを使用してカウンターを保存する必要があります。

于 2013-07-16T14:00:12.103 に答える