Joomla 1.5 Сессии в joomla 1.5

Discussion in 'Создание расширений для Joomla' started by Culibin, Jul 19, 2010.

  1. Offline

    Culibin Недавно здесь

    Joined:
    May 3, 2009
    Messages:
    13
    Likes Received:
    0
    Gender:
    Male
    Сдравствуйте, передомною стала такая задача: В джумловском файле я генерирую псевдослучайное число, присваиваю его переменной, переменную вношу в сессию. В файле, который не пренадлежит джумле, но лежит в той же папке, я должен вывести это число из сессии. Как мне это сделать???? Помогите плз.
    Вот код, который генерирует число, и вносит его в сессию:

    <?php
    $session =& JFactory::getSession();
    $rand = rand(1000, 9999);
    $session->set( 'myvar', $rand );
    ?>
     
  2.  
  3. progmist
    Offline

    progmist Недавно здесь

    Joined:
    May 18, 2009
    Messages:
    155
    Likes Received:
    10
    Gender:
    Male
    у класса class JSession extends JObject
    есть метод:
    function &get($name, $default = null, $namespace = 'default')
     
  4. woojin
    Offline

    woojin Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    если я всё правильно помню, то должна быть команда OB_SESSION для работы с сессией

    или попробуйте посмотрите в PHP справочнике как работать с сессиями

    а в Joomla сессия идёт как OBJECT из неё и надо доставть вашу переменную (ХОТЯ ВОЗМОЖНО И КАК МАССИВ)

    не сталкивался, но в роде как мысли правильные
     
  5. woojin
    Offline

    woojin Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    опоздал... Вам дали более полный коментарий
     
  6. Offline

    Culibin Недавно здесь

    Joined:
    May 3, 2009
    Messages:
    13
    Likes Received:
    0
    Gender:
    Male
    progmist, если Вам не составит труда описать этот процесс по-подробнее (что, куда вставить), т.к. в PHP я новичёк
     
  7. omfgpanda
    Offline

    omfgpanda Недавно здесь => Cпециалист <=

    Joined:
    Jan 22, 2008
    Messages:
    673
    Likes Received:
    53
    Gender:
    Male
    Есть два способа получить переменную сессии:

    1. Использование массива $_SESSION
    Код (PHP):
    1. $myVar = $_SESSION["myvar"];

    2. Подключение апи фреймворка и работа с ним:
    Код (PHP):
    1. require_once 'libraries/loader.php'; //путь указывается относительно подключающего файла
    2. define('JPATH_BASE',1);  //подсовываем системную константу
    3. jimport('joomla.base.object'); //подключаем библиотеку

    думаю этой библиотеки должно хватить для инициализации JSession.
    Далее получаем вашу переменную:
    Код (PHP):
    1. $myVar = JSession::get("myvar");


    З,Ы,: оч интересно, а зачем Вам сторонние файлы ?
     
  8. Offline

    Culibin Недавно здесь

    Joined:
    May 3, 2009
    Messages:
    13
    Likes Received:
    0
    Gender:
    Male
    Дело в том, что мне нужно сделать возможность платного скачивания вотографий в joomgallery. Фотографы регятся, и заливают на сайт свои фотки, а пользователи (не регистрируясь на сайте), покупают их. Я решил сделатьэто так: на странице с фоткой генерируется псевдослучайное число, присваивается переменной и попадает в сессию. После того, как человек нажимает на кнопку "Купить", после чего попадает на сервис оплаты Webmoney. После завершения оплаты, юзер попадает на страницу (Эта страница написана мною, и не принадлежит Joomla!, но лежит в той же директории), в которой выводится из сессии число, которое было сгенерированно на странице с фотографией, затем он вводит это число на странице с фоткой, после чего идёт проверка, если введенное число совпадает со сгенерированным - появляется кнопка скачать
     
  9. omfgpanda
    Offline

    omfgpanda Недавно здесь => Cпециалист <=

    Joined:
    Jan 22, 2008
    Messages:
    673
    Likes Received:
    53
    Gender:
    Male
    ну так чем не подходит описанный вариант ? )
     

Share This Page

Loading...