1

これはおそらく非常に単純ですが、私はそれを機能させようとしてぐるぐる回りました。PHPよりもHTML/CSSが得意です。

広告を投稿したユーザーがオンラインのときに表示するようにカスタマイズしているサードパーティ コンポーネントがあります。これまでのところ、私はそれを機能させることができませんでした。

コンポーネントから取得したユーザー ID を Joomla ユーザー オブジェクトに渡しています。

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

次に、ゲストフラグが設定されているかどうかを確認しようとしました。ユーザーがログインしている場合はゼロになり、ログインしていない場合は null になることを理解しているためです。

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

値がnullではなく実際にゼロに設定されていることを確認したいので、3つの等号も試しました。基本的に、このメソッドのバリエーションを長い間いじっていました。確認する良い方法を知っている人がいたら教えてください。また、セッション テーブルでユーザー ID を確認しようとしましたが、mySQL クエリに精通していません。

前もって感謝します!

4

2 に答える 2

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';
}
于 2013-02-05T11:29:36.697 に答える
0

これを試して、

のように確認できます。

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

これがあなたを助けることを願っています..

于 2013-02-05T11:16:44.077 に答える