Joomla:如何检查其他用户(非当前用户)是否在线

时间:2013-02-05 10:38:44

标签: joomla joomla-component

这可能非常简单,但我已经绕圈试图让它发挥作用。我的强项是HTML / CSS而不是PHP。

我有自定义的第三方组件,以便在发布广告的用户在线时显示。到目前为止,我还没能让它发挥作用。

我一直在将我从组件获取的用户ID传递给Joomla用户对象。

$user =& JFactory::getUser($var_from_component);

然后我尝试检查是否设置了guest标志,因为我知道如果用户登录它将为零但如果用户不是则为null。

if($user->guest==0) {
  echo "User is online";
 } else {
  echo "User is offline";
 }

我也试过三个等号,因为我想检查一下这个值实际设置为零而不是它是null,所以基本上我一直在搞乱这个方法的变化太久了。如果有人知道更好的检查方法,那么请说。我还尝试检查会话表中的userid,但我对mySQL查询并不精通。

提前致谢!

2 个答案:

答案 0 :(得分:3)

您可以查询会话表以检查用户是否已登录 -

$db     =& JFactory::getDBO();
$query      = 'SELECT COUNT(userid) FROM #__session AS s WHERE s.userid = '.(int)$userid;
$db->setQuery($query);
$loggedin   = $db->loadResult();
if($loggedin){
    //echo 'User is logged in';
}

答案 1 :(得分:0)

试试这个,

您可以查看

$user = &JFactory::getUser($user_id);
//print_r($user);
if(isset($user->guest))
    echo "Online";
else
    echo "Offline";

希望这可以帮到你..