Форум русской поддержки Joomla!® CMS
06.12.2016, 23:59:18 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Сеcсии в Joomla 3.x

 (Прочитано 383 раз)
0 Пользователей и 1 Гость смотрят эту тему.
lordics
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 15


« : 06.10.2015, 14:36:44 »

День добрый господа программисты.У меня есть тестовая страничка тестирования всяких функции сессии и т.д столкнулся я вот с такой проблемой после авторизации,  вставил код на тестовой страничке $user = &JFactory::getUser(); $id = $user->id; echo $id;
а id пользователя не вывелось в чем может быть причина и где ее искать.. Я только начинающий программист. За ранее огромное спасибо...   
Записан
NewUsers
Давно я тут
****

Репутация: +32/-0
Offline Offline

Пол: Мужской
Сообщений: 394


« Ответ #1 : 06.10.2015, 14:45:36 »

вставил код на тестовой страничке $user = &JFactory::getUser(); $id = $user->id; echo $id;
а id пользователя не вывелось в чем может быть причина и где ее искать.. Я только начинающий программист. За ранее огромное спасибо...   

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

что бы выполнить этот код!
Записан
lordics
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 15


« Ответ #2 : 06.10.2015, 15:01:42 »

а как правильно его подключить вот код моей странички
<?php

defined('_JEXEC') or die;
$user = &JFactory::getUser(); $id = $user->id; echo $id;
?>
Записан
NewUsers
Давно я тут
****

Репутация: +32/-0
Offline Offline

Пол: Мужской
Сообщений: 394


« Ответ #3 : 06.10.2015, 15: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
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 15


« Ответ #4 : 06.10.2015, 15:24:38 »

я Вас правильно понял require_once __DIR__ . '/имя моего файла.php'; я его должен поместить в в папку mod_login
Записан
NewUsers
Давно я тут
****

Репутация: +32/-0
Offline Offline

Пол: Мужской
Сообщений: 394


« Ответ #5 : 06.10.2015, 15:27:27 »

я Вас правильно понял require_once __DIR__ . '/имя моего файла.php'; я его должен поместить в в папку mod_login

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

Репутация: +0/-0
Offline Offline

Сообщений: 15


« Ответ #6 : 06.10.2015, 16: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
Давно я тут
****

Репутация: +32/-0
Offline Offline

Пол: Мужской
Сообщений: 394


« Ответ #7 : 06.10.2015, 16:10:57 »

и можно ли это все переделать на php сессию допустим в файле тестовом создаем код

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

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

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

Репутация: +0/-0
Offline Offline

Сообщений: 15


« Ответ #8 : 06.10.2015, 16:26:13 »

да получилось вывести. есть личный кабинет  в нем есть меню и там есть материал личные данные  вот там и нужно вывести всю информацию пользователя
а сессия нужно чтоб ее можно было использовать где угодно пока юзер авторизирован. и в дальнейшем нужно будет делать различные модернизации анкеты 
Записан
NewUsers
Давно я тут
****

Репутация: +32/-0
Offline Offline

Пол: Мужской
Сообщений: 394


« Ответ #9 : 06.10.2015, 16:31:42 »

есть личный кабинет  в нем есть меню и там есть материал личные данные

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

Репутация: +0/-0
Offline Offline

Сообщений: 15


« Ответ #10 : 06.10.2015, 18:52:40 »

я начинающий программист подскажи если знаешь такой компонент. у меня было в плане написать компонент но это уже по по же как изучу программирования на joomle
 
Записан
lordics
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 15


« Ответ #11 : 07.10.2015, 18: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
Живу я здесь
******

Репутация: +69/-3
Offline Offline

Пол: Мужской
Сообщений: 829



« Ответ #12 : 07.10.2015, 23:01:43 »

{source}
Код
<?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}
« Последнее редактирование: 07.10.2015, 23:05:13 от passer » Записан
lordics
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 15


« Ответ #13 : 08.10.2015, 00:21:41 »

Спасибо за помощь.. Я немного другим способом решил. Но и ваш хорош.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet