如何在joomla中获取sql中的会话ID
我正在Joomla与vcharts合作,并尝试tom实现基于登录用户的图表。遗憾的是,vcharts只允许我使用SQL进行查询,而不允许使用PHP,那么我如何获得会话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
<?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制造的数据库,让最后一个用户使用听起来不可靠的加密密钥。