Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在Joomla中检索用户id_Php_Joomla2.5 - Fatal编程技术网

Php 如何在Joomla中检索用户id

Php 如何在Joomla中检索用户id,php,joomla2.5,Php,Joomla2.5,我正在Joomla中编写代码,现在我想检索登录的用户id。当用户登录时,它工作正常,但当它单击我的页面时,它显示错误。我认为他们可能是缓存或会话问题。它是? 以下是我的Joomla页面代码: <?php define( '_JEXEC', 1 ); define( 'DS', DIRECTORY_SEPARATOR ); define( 'JPATH_BASE', $_SERVER[ 'DOCUMENT_ROOT' ] ); defined('_JEXEC') or d

我正在Joomla中编写代码,现在我想检索登录的用户id。当用户登录时,它工作正常,但当它单击我的页面时,它显示错误。我认为他们可能是缓存或会话问题。它是? 以下是我的Joomla页面代码:

  <?php
  define( '_JEXEC', 1 );
  define( 'DS', DIRECTORY_SEPARATOR );
  define( 'JPATH_BASE', $_SERVER[ 'DOCUMENT_ROOT' ] );
  defined('_JEXEC') or die;
  require_once( JPATH_BASE . DS . 'includes' . DS . 'defines.php' );
  require_once( JPATH_BASE . DS . 'includes' . DS . 'framework.php' );
  require_once( JPATH_BASE . DS . 'libraries' . DS . 'joomla' . DS . 'factory.php' );
  $mainframe =& JFactory::getApplication('site');
  $mainframe->initialise();  
  // Initialise variables.
  $app = JFactory::getApplication();
  $user = JFactory::getUser();
  $userId = $user->get('id');
  $dispatcher = JDispatcher::getInstance();
  $userId = $user->get('id');
  echo $userId;
  ?>


现在,在这段代码中,它检索00作为用户id。但用户已登录。那么问题出在哪里呢?

使用此代码记录详细信息用户

$user = JFactory::getUser();  $userid = $user->id; echo $userid;

这行代码将获取当前登录用户的ID

$user_id = JFactory::getUser()->id;