Joomla 2.5 - 如何正确检查用户是访客还是会员

时间:2013-08-16 22:46:56

标签: joomla joomla2.5 membership

检查成员是否在Joomla中签名的最佳方式(最快/最安全/更长远)是什么。

1#way:$user =& JFactory::getUser(); if($user->id!=0){

2#way:$user =JFactory::getUser()->guest;

或其他方式?

这些是自定义脚本中的片段,用于检查用户是否是告知他注册的访客,以及他是否登录以欢迎他。

我正在使用Joomla 2.5

我在Joomla 2.5 check user logged in上读过一些代码根据我使用的php版本而有所不同?我很困惑。

由于

3 个答案:

答案 0 :(得分:2)

您可以使用假设您运行的是PHP 5.3,但是,如果您运行的是以下任何内容,请使用:

$user = JFactory::getUser(); 

if($user->id!=0){
    //your code goes here
}

就个人而言,我会选择第二种方法,因为它通过了Joomla API并且更加彻底。

另外,如果您使用第一种方法,则可以删除&

答案 1 :(得分:1)

/ *显示有关当前登录用户的一些信息,但仅在用户实际登录时显示。* /

$user =& JFactory::getUser();

if (!$user->guest) {
  echo 'You are logged in as:<br />';
  echo 'User name: ' . $user->username . '<br />';
  echo 'Real name: ' . $user->name . '<br />';
  echo 'User ID  : ' . $user->id . '<br />';
}

答案 2 :(得分:1)

对于Joomla,有两种方法可以检查用户是否已经进入

$user = JFactory::getUser();

if($user->guest = 1){
//User in not logged in
}
else
{
//User is logged in
} 

或者第二个是

$user = JFactory::getUser();

if($user->id != 0){
//User is logged in
$id = $user->id; // You can use this ID for further Use
}
else
{
//User is no logged in

} 

我个人更喜欢第二个,因为它同时满足两个可用性。