Не могу заставить reCAPTCHA работать в CodeIgniter - PullRequest
0 голосов
/ 31 августа 2010

Я использую библиотеку CodeIgniter reCAPTCHA ( здесь , форум здесь ).По какой-то причине переменные не передаются из библиотеки reCAPTCHA в представление, имеющее код поля reCAPTCHA.

Вот мой контроллер (соответствующие части):

$this->load->library('recaptcha');
$this->load->library('form_validation');
$this->lang->load('recaptcha');

// Validate form
...
$this->form_validation->set_rules('recaptcha_response_field','Captcha','required|callback_captcha_check');

И япопытался загрузить представление поля как переменную:

$data['recaptcha'] = $this->load->view('recaptcha',$data,true);

И в моем главном представлении:

<?php $this->load->view('recaptcha');?>

Вот код представления:

<script type="text/javascript">
  var RecaptchaOptions = { 
    theme:"<?= $theme ?>",
    lang:"<?= $lang ?>"
  };
</script>
<script type="text/javascript" src="<?= $server ?>/challenge?k=<?= $key.$errorpart ?>"></script>
<noscript> 
        <iframe src="<?= $server ?>/noscript?lang=<?= $lang ?>&k=<?= $key.$errorpart ?>" height="300" width="500" frameborder="0"></iframe><br/>
        <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
        <input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
</noscript>

Библиотеку можно найти по ссылкам выше, но я думаю, что это просто оболочка для стандартной библиотеки PHP reCAPTCHA.

Когда я получаю доступ к форме регистрации, страница загружается, но виджет reCAPTCHA не отображается, потому чтоон выдает ошибку для каждой переменной - все не определены.

Я уверен, что это что-то простое в загрузке переменных из библиотеки в представление.Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 31 августа 2010

Посмотрите на область просмотра руководства пользователя.

http://codeigniter.com/user_guide/general/views.html

Он покажет вам, как добавить динамические данные в представление. Вы обычно делаете это в вашем контроллере.

...