2

私はしばらくの間これに取り組んできました。フロント エンド ページでビューを取得し、バックエンド (cms など) ページでビューを表示する PHP カウンターを作成しました。

index.php コード:

<?php 
  function get_hits() {
    session_start();
    if(isset($_SESSION['views'])) {
      $_SESSION['views'] = $_SESSION['views']+ 1;
    } else {
      $_SESSION['views'] = 1;
    }
  }
?>

display_hits.php コード:

<?php 
  function display_hits() {
    session_start();
    if(isset($_SESSION['views'])) {
      $_SESSION['views'] = $_SESSION['views'];
    } else {
      $_SESSION['views'] = 1;
    }
    echo "Total Page Views Since Browser Close = ". $_SESSION['views'];
  }
?>
<?php display_hits(); ?>

主なことは、カウンターを 7 日間維持してからリセットしたいということです。どうすればいいのかわからない... setcookie(); を使用する必要があることはわかっています。何とかして。

前もって感謝します :)

4

2 に答える 2

1

これは関数 setcookie で、名前、値、および時間を受け取ります。(3600*24*7 = 7 日)

setcookie("pageview", $_SESSION['views'], time()+3600*24*7); 
于 2013-04-25T00:18:09.560 に答える
0

これはうまくいくはずです。

<?php 
  function get_hits() {
    session_start();
    if(isset($_SESSION['views'])) {
      $_SESSION['views'] = $_SESSION['views']+ 1;
      setcookie("counter", $_SESSION["views"], $_SESSION["days"]);
    } else {
      $_SESSION['views'] = 1;
      $_SESSION["days"] = time()+3600*24*7;
      setcookie("counter", $_SESSION["views"], time()+3600*24*7);
    }
  }
?>

基本的に、time+ 7days で別のセッション変数を保存し、それを Cookie に保存します。カウンターが更新されるたびに、新しいカウンター値と最初の時刻/日でその Cookie を更新します。

ディンス

于 2013-04-25T00:16:07.903 に答える