无法让reCAPTCHA在CodeIgniter中工作

时间:2010-08-30 21:15:09

标签: php javascript codeigniter recaptcha

我正在使用CodeIgniter reCAPTCHA库(here,论坛here)。由于某种原因,没有变量从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>

可以通过上面的链接找到该库,但我认为它只是默认reCAPTCHA PHP库的包装器。

当我访问注册表单时,页面加载但是reCAPTCHA小部件没有显示,因为它为每个变量抛出一个错误 - 所有都是未定义的。

我确信这是将变量从库加载到视图中的基础。有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

查看用户指南的视图区域。

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

它将向您展示如何向视图添加动态数据。您通常会在控制器中执行此操作。