Основной курс по Joomla
0 Пользователей и 1 Гость просматривают эту тему.
  • 13 Ответов
  • 503 Просмотров
*

lordics

  • Захожу иногда
  • **
  • 15
  • 0
Сеcсии в Joomla 3.x
« : 06.10.2015, 15:36:44 »
День добрый господа программисты.У меня есть тестовая страничка тестирования всяких функции сессии и т.д столкнулся я вот с такой проблемой после авторизации,  вставил код на тестовой страничке $user = &JFactory::getUser(); $id = $user->id; echo $id;
а id пользователя не вывелось в чем может быть причина и где ее искать.. Я только начинающий программист. За ранее огромное спасибо...   
*

NewUsers

  • Завсегдатай
  • *****
  • 598
  • 47
Re: Сеcсии в Joomla 3.x
« Ответ #1 : 06.10.2015, 15:45:36 »
вставил код на тестовой страничке $user = &JFactory::getUser(); $id = $user->id; echo $id;
а id пользователя не вывелось в чем может быть причина и где ее искать.. Я только начинающий программист. За ранее огромное спасибо...   

Если эта страница ни как не относиться к Joomla, то этот код не будет работать... Подключи этот файл к джумловским файлам с помощью
Код
require_once

что бы выполнить этот код!
*

lordics

  • Захожу иногда
  • **
  • 15
  • 0
Re: Сеcсии в Joomla 3.x
« Ответ #2 : 06.10.2015, 16:01:42 »
а как правильно его подключить вот код моей странички
<?php

defined('_JEXEC') or die;
$user = &JFactory::getUser(); $id = $user->id; echo $id;
?>
*

NewUsers

  • Завсегдатай
  • *****
  • 598
  • 47
Re: Сеcсии в Joomla 3.x
« Ответ #3 : 06.10.2015, 16:14:52 »
а как правильно его подключить вот код моей странички
<?php

defined('_JEXEC') or die;
$user = &JFactory::getUser(); $id = $user->id; echo $id;
?>

Этот файл надо подключать в джумловских файлах...

К примеру, если мне надо этот файл подключить к модулю формы входа....
Значит открываю файл: mod_login.php (\modules\mod_login)

в любое место добавляю...
Код
require_once __DIR__ . '/file_php.php';
Значит что файл file_php.php должен находится там же где и файл mod_login.php
И в этом файле у меня содержиться код
Код
<?php
defined('_JEXEC') or die;
$user = JFactory::getUser();
echo $user->id;
?>





*

lordics

  • Захожу иногда
  • **
  • 15
  • 0
Re: Сеcсии в Joomla 3.x
« Ответ #4 : 06.10.2015, 16:24:38 »
я Вас правильно понял require_once __DIR__ . '/имя моего файла.php'; я его должен поместить в в папку mod_login
*

NewUsers

  • Завсегдатай
  • *****
  • 598
  • 47
Re: Сеcсии в Joomla 3.x
« Ответ #5 : 06.10.2015, 16:27:27 »
я Вас правильно понял require_once __DIR__ . '/имя моего файла.php'; я его должен поместить в в папку mod_login

Да. Но что бы не путаться.
Файл который подключается должен быть там же где и файл в котором подключается этот же файл...
"Волшебные" константы
*

lordics

  • Захожу иногда
  • **
  • 15
  • 0
Re: Сеcсии в Joomla 3.x
« Ответ #6 : 06.10.2015, 17:03:11 »
да он вывел id но мне нужно чтоб не в модуле выводился а на другой страничке
и можно ли это все переделать на php сессию допустим в файле тестовом создаем код
<?php
defined('_JEXEC') or die;
session_start();
$user = JFactory::getUser();
$user= $user->id;
$_SESSION['id'] = $user;
?>
и допустим будет материал личные данные и мы вставляем нашу сессию. так как в материалах нельзя вставлять php код я установил дополнительный модуль source при помощи него можно вставлять php кода.
дальше в нашем материале вставим вот такой код
{source}
<?php
session_start();
$res = mysql_query("SELECT *FROM jos_users WHERE id={$_SESSION ['id']} ",$db);
$row = mysql_fetch_array($res)
echo 'Ваш ID:' echo $row[id];
echo 'Ваше Имя:' echo $row[name];
echo 'Ваш email:' echo $row[email];
?>
{/source}
*

NewUsers

  • Завсегдатай
  • *****
  • 598
  • 47
Re: Сеcсии в Joomla 3.x
« Ответ #7 : 06.10.2015, 17:10:57 »
и можно ли это все переделать на php сессию допустим в файле тестовом создаем код

Я же написал что к примеру!
Эту схему можно использовать где угодно...

и допустим будет материал личные данные и мы вставляем нашу сессию.

Да нафига вообще эта сессия. Что она даст?
Еще раз... И подробнее что надо сделать и где!
По моему примеру получилось вывести id пользователя?
*

lordics

  • Захожу иногда
  • **
  • 15
  • 0
Re: Сеcсии в Joomla 3.x
« Ответ #8 : 06.10.2015, 17:26:13 »
да получилось вывести. есть личный кабинет  в нем есть меню и там есть материал личные данные  вот там и нужно вывести всю информацию пользователя
а сессия нужно чтоб ее можно было использовать где угодно пока юзер авторизирован. и в дальнейшем нужно будет делать различные модернизации анкеты 
*

NewUsers

  • Завсегдатай
  • *****
  • 598
  • 47
Re: Сеcсии в Joomla 3.x
« Ответ #9 : 06.10.2015, 17:31:42 »
есть личный кабинет  в нем есть меню и там есть материал личные данные

Мне даже страшно представить что ты там делаешь...
Ты используешь материал в виде личного кабинета?
А не пробовал использовать для этого компоненты...
*

lordics

  • Захожу иногда
  • **
  • 15
  • 0
Re: Сеcсии в Joomla 3.x
« Ответ #10 : 06.10.2015, 19:52:40 »
я начинающий программист подскажи если знаешь такой компонент. у меня было в плане написать компонент но это уже по по же как изучу программирования на joomle
 
*

lordics

  • Захожу иногда
  • **
  • 15
  • 0
Re: Сеcсии в Joomla 3.x
« Ответ #11 : 07.10.2015, 19:53:25 »
так можно что то сделать с сессией
<?php
defined('_JEXEC') or die;
session_start();
$user = JFactory::getUser();
$user= $user->id;
$_SESSION['id'] = $user;
?>


{source}
<?php
session_start();
$res = mysql_query("SELECT *FROM jos_users WHERE id={$_SESSION ['id']} ",$db);
$row = mysql_fetch_array($res)
echo 'Ваш ID:' echo $row[id];
echo 'Ваше Имя:' echo $row[name];
echo 'Ваш email:' echo $row[email];
?>
{/source}
*

passer

  • Живу я здесь
  • ******
  • 874
  • 70
Re: Сеcсии в Joomla 3.x
« Ответ #12 : 08.10.2015, 00:01:43 »
{source}
Код: php
<?php
    /* Initialize Joomla framework */
    if (!defined('_JEXEC')) {
        define( '_JEXEC', 1 );
        define('JPATH_BASE', $_SERVER['DOCUMENT_ROOT']);
        define( 'DS', DIRECTORY_SEPARATOR );
        /* Required Files */
        require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
        require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
        /* To use Joomla's Database Class */
        require_once ( JPATH_BASE .DS.'libraries'.DS.'joomla'.DS.'factory.php' );        
        /* Create the Application */
        $app = JFactory::getApplication('site')->initialise();
    }

$user = JFactory::getUser();
if($user->id){
echo 'Ваш ID: ' . $user->id . '<br />' .
'Ваше Имя: ' . $user->username. '<br />' .
'Ваш email: ' . $user->email;
}else{
echo 'Вы не авторизованы';
}
{/source}
« Последнее редактирование: 08.10.2015, 00:05:13 от passer »
*

lordics

  • Захожу иногда
  • **
  • 15
  • 0
Re: Сеcсии в Joomla 3.x
« Ответ #13 : 08.10.2015, 01:21:41 »
Спасибо за помощь.. Я немного другим способом решил. Но и ваш хорош.