Как получить идентификатор сессии в SQL в Joomla - PullRequest
0 голосов
/ 06 октября 2019

Я работаю с vcharts в Joomla и пытаюсь реализовать диаграммы, основанные на том, кто вошел в систему. К сожалению, vcharts позволяет мне использовать только SQL для запросов, а не PHP, так как я тогда получу идентификатор сессии.

Ответы [ 2 ]

0 голосов
/ 07 октября 2019

На основании вопроса SO Переменные, добавленные в vchart, запрос joomla sql не получен (который предоставляет соответствующую часть руководства vcharts, которую пользователи joomla обычно платят, чтобы увидеть ...), кажется, что это заполнительчто вы можете использовать в своем SQL:

{loggedinuserid}

Итак, вы можете написать что-то вроде

SELECT * FROM #__users WHERE id = {loggedinuserid}

Конечно, это всего лишь предположение, потому что я никогда не использовал vcharts, нивидел ли я фактические документы.

Если ему не нравится заполнитель префикса #__, тогда, я думаю, вам придется заменить его вручную следующим образом:

SELECT * FROM lmnop_users WHERE id = {loggedinuserid}

Всепри этом у меня есть некоторый опыт работы с расширением Plotalot, и он довольно хорош с отличной документацией.

0 голосов
/ 06 октября 2019

Я нахожу такой подход: с joomla api

<?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);
 ?>

Возможно, вы можете использовать запрос напрямую для доступа к базе данных mysql из вашей платформы. Или вставьте PHP любым способом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...