Joomla 3 获取用户 ID
Joomla 3 get user id
我在文件夹 myjoomla/myscript/
中有此代码
<?php
define('_JEXEC', 1 );
define('JPATH_BASE', $_SERVER['DOCUMENT_ROOT']."" );
define( 'DS','/' );
require_once ( JPATH_BASE.DS. 'includes'.DS.'defines.php' );
require_once ( JPATH_BASE.DS.'includes'.DS.'framework.php' );
require(JPATH_BASE.DS.'libraries/joomla/factory.php');
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
jimport( 'joomla.session.session' );
$session =& JFactory::getSession();
$user =& JFactory::getUser();
echo "id:".$user->id;
我打印 JPATH_BASE 没问题。但是没有打印id,只打印“0”。我在 joomla 中登录正常。这在本地主机上没问题,但在服务器上不行。
谢谢
是的,确实像旧代码。新代码如下所示,
<?php
if (!defined('_JEXEC'))
{
// Initialize Joomla framework
define('_JEXEC', 1);
}
// Load system defines
if (file_exists(dirname(__FILE__) . '/defines.php'))
{
require_once dirname(__FILE__) . '/defines.php';
}
if (!defined('JPATH_BASE'))
{
define('JPATH_BASE', dirname(__FILE__));
}
if (!defined('_JDEFINES'))
{
require_once JPATH_BASE . '/includes/defines.php';
}
// Get the framework.
require_once JPATH_BASE . '/includes/framework.php';
$app = JFactory::getApplication('site');
$app->initialise();
$user = JFactory::getUser();
echo "id:".$user->id;
注意:在本地和实时上测试了您的代码,它对我有用。但不太确定为什么它在您的现场环境中不起作用。不过你的代码确实老了
我在文件夹 myjoomla/myscript/
中有此代码<?php
define('_JEXEC', 1 );
define('JPATH_BASE', $_SERVER['DOCUMENT_ROOT']."" );
define( 'DS','/' );
require_once ( JPATH_BASE.DS. 'includes'.DS.'defines.php' );
require_once ( JPATH_BASE.DS.'includes'.DS.'framework.php' );
require(JPATH_BASE.DS.'libraries/joomla/factory.php');
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
jimport( 'joomla.session.session' );
$session =& JFactory::getSession();
$user =& JFactory::getUser();
echo "id:".$user->id;
我打印 JPATH_BASE 没问题。但是没有打印id,只打印“0”。我在 joomla 中登录正常。这在本地主机上没问题,但在服务器上不行。
谢谢
是的,确实像旧代码。新代码如下所示,
<?php
if (!defined('_JEXEC'))
{
// Initialize Joomla framework
define('_JEXEC', 1);
}
// Load system defines
if (file_exists(dirname(__FILE__) . '/defines.php'))
{
require_once dirname(__FILE__) . '/defines.php';
}
if (!defined('JPATH_BASE'))
{
define('JPATH_BASE', dirname(__FILE__));
}
if (!defined('_JDEFINES'))
{
require_once JPATH_BASE . '/includes/defines.php';
}
// Get the framework.
require_once JPATH_BASE . '/includes/framework.php';
$app = JFactory::getApplication('site');
$app->initialise();
$user = JFactory::getUser();
echo "id:".$user->id;
注意:在本地和实时上测试了您的代码,它对我有用。但不太确定为什么它在您的现场环境中不起作用。不过你的代码确实老了