2015-10-20 68 views
2

我工作的用户功能的CMS我的工作,我必须更新每个页面加载使用获取时间从5分钟前

if(User("online") == true) { 
    LastOnlineUpdate($_SESSION['key']['userid']); 
} 

(是用户在线作品的用户,这是我的功能查看在线用户) 现在我的时间是正确更新钩住LastOnlineUpdate功能,然后运行我的类函数

public function SessionUpdate($arg) { 
     $query = <<<SQL 
     UPDATE {$this->tprefix}online 
     SET remote = :remote, timestamp = :timestamp 
     WHERE userid = :arg 
     SQL; 
     $resource = $this->db->db->prepare($query); 
      $resource->execute(array( 
      ':remote' => $_SERVER['REMOTE_ADDR'], 
      ':timestamp' => time(), 
      ':arg' => $arg, 
      )); 
    } 

现在,每当我经过我的网页它通过让我预先加载文件中的第一个代码更新用户,现在我已经通过机智击中了我的路障^ h的东西我从来没有做过,这就是拿一个已经插入我的表中的时间,选择它,如果时间不到五分钟,利用它为我的在线用户部分

public function OnlineUsers() { 
     $query = <<<SQL 
     SELECT userid 
     FROM {$this->tprefix}online 
     WHERE timestamp > time(5Minutes) 
SQL; 
     $resource = $this->db->db->prepare($query); 
     $resource->execute(); 
     $this->onlinecount = $resource->rowCount(); 
     if($resource->rowCount() == 0) { 
      $this->onlineusers = "No User's Online"; 
     } 
     else 
     { 
      foreach($resource as $row) { 
       self::ConvertIDToName("displayname"); //Can be display, user, first or whatever else for the argument, The onlineusers variable is then set based off that query 
      } 
     } 
} 
+1

谁编辑这帖子。就像一个人抬头,缩进'SQL;'实际上会破坏代码。 –

+0

对不起,实际上我不知道这是我的坏。 –

+1

不是一个问题,只是不希望别人尝试从中学习它是畸形的。 :)它不会让我编辑回来。 –

回答

1
$minutes = 5; 
$date = gmdate('Y-m-d H:i:s'); // http://php.net/manual/en/function.gmdate.php 
$date_plus_minutes = gmdate('Y-m-d H:i:s', (time() + $minutes * 60)); 
$date_minus_minutes = gmdate('Y-m-d H:i:s', (time() - $minutes * 60)); 
+0

不完全是我之后的,但我能够使用gmdate,而不是改变代码,并利用它来检查,它的作用就像一个魅力。感谢H3 –

相关问题