Все о Joomla 1.5

...заметки Котофеича

 
  • Increase font size
  • Default font size
  • Decrease font size

Home Вопрос-ответ Вадим Работа с массивом $_SESSION
2008.07.25 05:25:33
Вадим

У меня возникла одна очень интересная проблема. В стороннем скрипте я устанавливаю переменную сессии, но я так и не догнал как эту переменную прочитать внутри движка. Класс JSession не видит ее.

Тут как я понял сессии хранятся в БД, а массив $_SESSIOn создается только на время выполнения скрипта.

Так как в таком случае из стороннего скрипта передать переменную в движок???



  
 

admin
2008.07.27 23:40:40

Ты случаем не капчу приделываешь?
У меня была такая же проблема. Единственный выход который я нашел - сторонний скрипт сделал внутренним для joomla, и уже работал через JSession

 
 
Вадим
2008.07.28 03:05:13

Да, ее родимую
У меня тоже такая мысля была. Но пока я не придумал каким образом это сделать и что именно нужно подключить для нормальной работы. Не подскажешь? Если можно, фрагмент кода

 
 
admin
2008.07.28 20:55:28

Я ее прикрутил хрен знает как. Мне мое решение не нравится. Надо что-то думать. Кстати если ты юзаешь капчу с captcha.ru, то знай что она не на всех серваках будет работать.

 
 
Вадим
2008.07.29 14:33:33

Я в каком-то компоненте видел, что картинка формируется скриптом и сохраняется на диск и в последствии она будет загружена на странице из готового файла. И тогда с сессиями мне кажется проблем не должно возникнуть.

 
 
admin
2008.07.29 15:16:47

А зачем ее сохранять на диск? Вот в этом блоге, зайди под гостем. Увидишь капчу, которую я сразу формирую скриптом как картинку.
P.S. нажимай на кнопку ответить, под моим комментом. Иначе я не получаю уведомление об ответе.Получается что ты отвечаешь сам себе.

 
 
Вадим
2008.07.29 16:04:12

Это конечно хорошо, но как тогда там передается или запоминается сгенерированный код?

 
 
admin
2008.07.29 18:00:57

Отправил мой вариант решения в личку.

 
 
Rudolf
2008.09.15 19:39:57

Добрый день.
Я мучаюсь вопросом подключения каптчи к собственному компоненту.
Как можно сделать видимой переменную $_SESSION['captcha_keystring']
или как это обойти?

 
 
Вадим
2008.09.15 20:08:46

Да наверное никак. Если в настройках движка указать хранение сессии в БД, а капча генерируется в файле не относящемуся к движку, т.е. он не может пользоваться классами Jooml'ы.
Насколько я понял из сторонних компонентов. Все они, а может быть и нет, генерируют капчу во временный файл на сервере, где код ее указывается в названии этого файла. В последствии этот файл удаляется либо после создания записи, либо по истечении какого-то времени.
А что касается вопроса, то ответа я не нашел, т.к. при запуске Jooml'ы переменные сессии стираются полностью (возможно только если хранить сессию в БД) и доступ к ним только через класс JSESSION, вроде.

 
 
kotofeich
2008.09.18 19:05:40

Я нарыл такую вешь. Допустим мы выводим картинку <img src="<?php echo JROUTE::_('index.php?option=com_idoblog&task=captcha&tmpl=component&format=jpeg'); ?>">
Таким образом скрипт капчи мы можем вшить в контроллер и получить сессию. Но появляется новая проблема - я не могу разобраться, как в joomla передать нужные мне header. Я понял что мы можем установить тип выводимого документа так:
$document =& JFactory::getDocument();
$document->setMimeEncoding('image/jpeg');
Но в итоге вижу пустое изображение. Буду копать дальше..

 
 
Rudolf
2008.09.15 21:15:51

Благодарю за ответ.
может кто сталкивался с SecurityImages 5 (http://www.waltercedric.com) для joomla 1.5

как ее можно прикрепить к своему компоненту...
например обработчик и сама форма находятся в файле
com_realty\views\realty\tmpl\default.php

 
 
Комментировать
Логин:

E-mail:

  Введите текст изображенный на картинке:
 




ros-color.ru, изготовление флагов в Москве. официальный санаторий родник. тверь и тверская область бесплатные карты для gps. вопросы и цены на недвижимость марбелья. Болгария найти компанию