我创建了一个命中计数器,它工作正常,但问题是,我已经将这些代码放在构造函数中,如下所示:
// working code
<?php
class Welcome extends CI_Controller{
function __construct()
{
hit_counter(); // works perfectly fine...
}
function view_blog()
{
// perfectly working code
}
function other_function()
{
// working fine
}
}
现在的问题是,每当用户第一次访问网站时,它都会运行代码,但是当他访问view_blog
时,它也会运行,当它在other_function
上时,会再次运行,所有我想做的事情,我的柜台只计算一次,之后他应该只在下次访问网站时计算,而不是在他访问各种功能时。
答案 0 :(得分:4)
为什么不实现PHP本机会话?您也可以参加此CI实施的会议。
<?php
session_start(); //<--- Add here
class Welcome extends CI_Controller{
function __construct()
{
if(!isset($_SESSION['visited']))
{
hit_counter(); // works perfectly fine...
$_SESSION['visited'] = true; //<--- Sets here the first time.
}
}