Joomla:如何检查另一个用户(不是当前用户)是否在线



这可能真的很简单,但我一直在努力让它发挥作用。我的强项是HTML/CSS而不是PHP。

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

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

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

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

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

我也尝试过使用三个等号,因为我想检查值是否真的设置为零,而不是为零,所以基本上我已经在这个方法的变体上折腾了太久。如果有人知道更好的检查方法,请说。我还尝试检查会话表中的userid,但我对mySQL查询不太了解。

提前感谢!

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

$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';
}

试试这个,

你可以像一样检查

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

希望这能对你有所帮助。。

相关内容

  • 没有找到相关文章

最新更新