私は登録ページを取得してCAPTCHAを表示しようとしています。私は登録コントローラと登録ビューを持っています。CodeIgniterでCAPTCHAを作成する
public function index()
{
$this->load->helper('captcha');
$cap = create_captcha(array(
'img_path' => './captcha/',
'img_url' => 'http://localhost/captcha/',
'img_width' => 150,
'img_height' => 40
));
$data = array(
'captcha_time' => $cap['time'],
'ip_address' => $this->input->ip_address(),
'word' => $cap['word']
);
$query = $this->db->insert_string('captcha', $data);
$this->db->query($query);
$this->load->view('header');
$this->load->view('register', $cap);
$this->load->view('footer');
}
そして、私のレジスタビューから該当ビット(register.php
):
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: cap
Filename: views/register.php
Line Number: 35
:
<h3>Security question</h3>
<li>
<label for="captcha">Enter the CAPTCHA code below</label>
<?php echo $cap['image']; ?>
</li>
問題がある、私はこのエラーを取得してい
は、ここに私のコントローラのインデックスメソッドです
ユーザーガイドを見た後、私のコントローラから私のビューに渡すデータのようです私が望むことをやるための唯一の方法は、実際にMVCパターンに従わないように見える私のビューファイルにcaptchaジェネレーションコードを持たせることです。
誰かにヒントがありますか?
私はあなたのコードについての2点を見てきました
私はcodeigniterを知らないが、あなたが書いているものから、あなたは '$ this-> load-> view( 'register'、array ( 'cap' => $ cap)); '?次に、名前付きの値を持つ配列を渡しています(ビューメソッドが望んでいるものと思われます) – Flambino
私はすでにそれを試みましたが、まだ未定義変数:cap'エラーが発生しています。 – Josh
回答がある場合は、回答として投稿し、回答があれば – mattumotu