0
define('_JEXEC', 1);
define('JPATH_BASE', realpath(dirname(__FILE__)));
require_once ( JPATH_BASE .'/includes/defines.php' );
require_once ( JPATH_BASE .'/includes/framework.php' );
require_once ( JPATH_BASE .'/libraries/joomla/factory.php' );
$user = JFactory::getUser();   
echo 'User name: ' . $user->username . '<br />';     
echo 'Real name: ' . $user->name . '<br />';
$specificuser = JFactory::getUser(42);
echo 'Specific User name: ' . $specificuser->username . '<br />';
echo 'Specific Real name: ' . $specificuser->name . '<br />';

我已在我的外部 php 文件中添加了此代码。$specificuser代码正在运行;但有时会显示$user输出,有时则不会。对这个问题有任何想法吗?输出在这里:

User name: 
Real name: 
Specific User name: user
Specific Real name: Super User
4

2 回答 2

2

JFactory::getUser()方法加载当前用户对象:

  • 当您登录时:它将返回您的数据。
  • 当您注销时:您是没有名字的访客/匿名访客。

第二种情况在您登录时也适用,但您的会话到期。

于 2013-05-25T07:37:18.690 回答
1

你没有启动 Joomla!应用程序,因此会话处理和其他事情不起作用。

有关如何初始化 Joomla 的工作示例,请参阅我对类似问题的回答!正确。

于 2013-05-26T15:28:32.867 回答