PHP命中计数器...我可以将会话转换为COOKIE吗?

时间:2013-04-25 00:05:35

标签: php html cookies timer

我现在已经有一段时间了。制作一个PHP计数器,在前端页面上获取视图,并在后端(cms等)页面上显示视图。

index.php代码:

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

display_hits.php code:

<?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();不知。

提前致谢:)

2 个答案:

答案 0 :(得分:1)

这是一个函数setcookie,它取一个名字,一个值和一个时间。 (3600 * 24 * 7 = 7天)

setcookie("pageview", $_SESSION['views'], time()+3600*24*7); 

答案 1 :(得分: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);
    }
  }
?>

你基本上存储了另一个会话变量,时间+ 7天,并将其存储在cookie中。无论何时更新计数器,您都可以使用新的计数器值和初始时间/日来更新该cookie

DINS