0

私は 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>

ライブラリは上記のリンクから見つけることができますが、デフォルトの reCAPTCHA PHP ライブラリの単なるラッパーだと思います。

登録フォームにアクセスすると、ページが読み込まれますが、reCAPTCHA ウィジェットが表示されません。変数ごとにエラーがスローされるためです。すべて未定義です。

これは、変数をライブラリからビューにロードするための基本的なことだと確信しています。誰かが私を助けることができますか?

4

1 に答える 1

0

ユーザーガイドのビューエリアを見てください。

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

ビューに動的データを追加する方法を示します。通常、これはコントローラーで行います。

于 2010-08-31T03:05:49.873 に答える