Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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
如何在joomla中获取sql中的会话ID_Sql_Joomla - Fatal编程技术网

如何在joomla中获取sql中的会话ID

如何在joomla中获取sql中的会话ID,sql,joomla,Sql,Joomla,我正在Joomla与vcharts合作,并尝试tom实现基于登录用户的图表。遗憾的是,vcharts只允许我使用SQL进行查询,而不允许使用PHP,那么我如何获得会话ID呢 <?php $link = mysqli_connect("localhost", "joomla_usr", "geheim", "joomla_db"); define('_JEXEC', 1); define('JPATH_BASE', dirname(__FILE__)); de

我正在Joomla与vcharts合作,并尝试tom实现基于登录用户的图表。遗憾的是,vcharts只允许我使用SQL进行查询,而不允许使用PHP,那么我如何获得会话ID呢

<?php
    $link = mysqli_connect("localhost", "joomla_usr", "geheim", "joomla_db");
    define('_JEXEC', 1);
    define('JPATH_BASE', dirname(__FILE__));
    define('DS', DIRECTORY_SEPARATOR);
    require_once(JPATH_BASE . DS . 'includes' . DS . 'defines.php');
    require_once(JPATH_BASE . DS . 'includes' . DS . 'framework.php');
    require('libraries/joomla/factory.php');
    $mainframe = JFactory::getApplication('site');
    $mainframe->initialise();
    $session = JFactory::getSession();
    $query_user = "SELECT name, username, email FROM joomla_users WHERE id=(SELECT userid FROM joomla_session WHERE session_id='" . $session->getId() . "')";
        $result_user = mysqli_query($link, $query_user);
        $row_user = mysqli_fetch_array($result_user);
 ?>
基于SO问题(这暴露了joomla用户通常必须付费才能看到的vcharts手册的相关部分…)您可以在SQL中使用的占位符似乎是:

{loggedinuserid}
所以,你可以写一些

SELECT * FROM #__users WHERE id = {loggedinuserid}
当然,这只是一个猜测,因为我从未使用过vcharts,也没有看到实际的文档

如果它不喜欢前缀占位符
#u
,那么我想您需要像这样手动替换它:

SELECT * FROM lmnop_users WHERE id = {loggedinuserid}

综上所述,我对Plotalot扩展有一些经验,而且它的文档非常好。

也在这里发布:当你有Joomla问题时,请在Stack Exchange上查看/发布。有趣的是,这是我的问题。我想看一下文档,但我的雇主尚未向我提供进行soYes的凭据,我与
Was
建立了连接,以及发布时间。Plotalot扩展有很好的文档功能,并且非常清楚这些可以提供给查询的必要常量。感谢您的帮助,我将不得不询问我的主管是否同意购买一个全新的库。。。。你知道一个不会在付费墙后面隐藏文档的解决方案……解决方案需要纯sql。必须使用一个常量(由joomla扩展开发人员定义)。我无法进行研究,因为文档仅可供付费客户查看。我尝试过,但很遗憾,vchart没有识别它,我向主管建议了Plotalot,但我们在这一点上走得太远了。目前,我正在使用的解决方案是使用joomla制造的数据库,让最后一个用户使用听起来不可靠的加密密钥。