我使用此代码:
$usuario=getJoomUser();
$username=strtolower($usuario['username']);
$name=$usuario['name'];
if ($usuario['id']== 0)
{
echo "$name";
print "No estas logueado en el sistema";
}
else
{
代码工作正常但不适用于某些计算机。 Joomla加载用户和他的密码,但不是我在PHP中的代码。但是,如果我在其他计算机上使用该信息工作正常。
有什么想法吗?
非常感谢。
我的功能是:
function getJoomUser() {
error_reporting(1);
define( '_JEXEC', 1 );
define( 'DS', '/' );
define( 'JPATH_BASE', $_SERVER[ 'DOCUMENT_ROOT' ] . DS . 'Joomla3.2.3' );
if(is_file(JPATH_BASE .DS.'configuration.php')) {
require_once(JPATH_BASE .DS.'configuration.php');
} else {
echo "Could not locate configuration.php <br />";
}
if(is_file(JPATH_BASE .DS.'includes/defines.php')) {
require_once(JPATH_BASE .DS.'includes'.DS.'defines.php');
} else {
echo "Could not locate defines.php <br />";
}
if(is_file(JPATH_BASE .DS.'includes/framework.php')) {
require_once(JPATH_BASE .DS.'includes'.DS.'framework.php');
} else {
echo "Could not locate framework.php<br />";
}
if(is_file(JPATH_BASE .DS.'libraries/joomla/factory.php')) {
require_once(JPATH_BASE .DS.'libraries/joomla/factory.php');
} else {
echo "Could not locate factory.php<br />";
}
$mainframe = JFactory::getApplication('site');
$user = JFactory::getUser();
$userData['username'] = $user->username;
$userData['name'] = $user->name;
$userData['id'] = $user->id;
$userData['email'] = $user->email;
$userData['groups'] = $user->groups;
return $userData;
}
?>
我尝试过选项 - &gt;来宾,问题仍在继续。关键是:在某些电脑中发生这种情况,我尝试使用这些用户的数据在我的电脑或另一台电脑上登录正常工作。 我试过没有调用函数并保持不变。
答案 0 :(得分:0)
我不知道你从哪里获得getJoomUser
但是要获取用户对象,你需要使用它:
$user = JFactory::getUser();
然后你可以这样做:
if ($user['id'] == 0){
print "No estas logueado en el sistema";
}
else{
echo $user->username;
}
答案 1 :(得分:0)
我已更新到3.3.6并且问题仍然存在。
在Internet Explorer上,激活兼容性视图可以正常工作。 WRONG
我将改为drupal ......
由于