странная работа с сессиями в MODX revo


не удаёться прикрутить RealCaptha в Formit.



пытаюсь прикрутить RealCaptha в Formit.
[[!FormIt? 
&hooks=`spam,email,redirect` 
&emailTpl=`email_tpl` 
&emailTo=`v.kamuz@gmail.com` 
&emailSubject=`Письмо с сайта [[++site_url]]` 
&sessionVars='RealCaptcha' 
&redirectTo=`25` 
&validate=`captcha:RealCaptchaValid,name:required,email:email:required,text:required:stripTags,phone:required` 
&customValidators=`RealCaptchaValid` ]] 
[[!+fi.error.captcha]]
<form class="form" action="[[~[[*id]]]]" method="post">


<input type="hidden" name="nospam:blank" value="" /> 
<label for="name">Ваше имя <span class="required">*</span>:</label> 
<span class="error">[[!+fi.error.name]]</span> 
<input id="name" type="text" name="name" value="[[!+fi.name]]" /> 
<label for="email">Телефон <span class="required">*</span>:</label> 
<span class="error">[[!+fi.error.phone]]</span> 
<input id="phone" type="text" name="phone" value="[[!+fi.phone]]" /> 
<label for="email">Email <span class="required">*</span>:</label> 
<span class="error">[[!+fi.error.email]]</span> 
<input id="email" type="text" name="email" value="[[!+fi.email]]" /> 
<label for="text">Сообщение <span class="required">*</span>:</label> 
<span class="error">[[!+fi.error.text]]</span> 
<textarea id="text" name="text" rows="7" cols="55">[[!+fi.text]]</textarea>
 [[$RealCaptcha]] 
 <input class="submit_button" type="submit" value="Отправить" />
  </form>


проблема на мой взгляд с $_SESSION.
всё дело в том, что в капчуровском формировании картинки assets/components/realcaptcha/index.php происходит присвоение

$_SESSION['RealCaptcha'] = md5('realadmin.ru'.$captcha->getKeyString().'realadmin.ru');


а затем как я понимаю в снипете RealCaptchaValid происходит проверка того что ввел человек с этим
$_SESSION['RealCaptcha']

Так вот в снипете такое ощущение, что значение $_SESSION['RealCaptcha'] тупо не видеться. что я делаю не так?
Андрей
22 апреля 2015, 11:35
modx.pro
1
1 540
-1

Комментарии: 6

An Si
22 апреля 2015, 16:53
0
Я этот компонент нигде не выкладывал, да и написан он был на коленке, так что зря тут спрашиваешь. Посмотри в сторону Яндекс капчи или смотри файл /assets/components/realcaptcha/kcaptcha/index.php Мне кажется там класс modx.class.php не подключается по каким-то причинам. Проверь правильность пути к нему.
    Андрей
    22 апреля 2015, 17:47
    0
    почему зря тут спрашиваю? ))

    в сторону яндекс капчи посмотрю, спасибо

    не пойму какая связь там с modx.class.php, если похоже, что глобальная переменная $_SESSION['RealCaptcha'] присваивается нормально в в /assets/components/realcaptcha/kcaptcha/index.php, однако в снипете она не «видеться». речь даже не в этом. просто не пойму почему модх отваливает дурака с _SESSION, если движок мудрит как-то с этой технологией, то дайте ссылку где читануть как правильно работать с сессиями в modx, если не сложно. мне на другом форуме посоветовали обратиться сюда, проблемы с сессиями были и ранее.
    Андрей
    25 апреля 2015, 20:22
    0
    да ну… помощи не дождешься от вас (((

    вы говорите путь проверь в /assets/components/realcaptcha/kcaptcha/index.php к modx.class.php, так
    echo(file_get_contents ('../../../../core/model/modx/modx.class.php'));
    выдаёт тело файла. так что путь верен

      Андрей
      25 апреля 2015, 20:24
      0
      на коленках или компонент сделан, дело ж не в этом. странно сессии работают в MODX.

      в одном php-скрипте они присваиваются, в снипете они уже не видятся. как их есть то?
        Илья Уткин
        26 апреля 2015, 01:12
        0
        Вы забыли указать свой сниппет в качестве хука
        [[!FormIt? 
        &hooks=`RealCaptha,spam,email,redirect`
        ...
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        6