보안 문자를 표시하려면 등록 페이지를 얻으려고합니다. 등록 컨트롤러와 등록보기가 있습니다.CodeIgniter로 보안 문자 만들기
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 세대 코드를 포함시키는 것입니다.
누구나 조언을 얻었습니까?
난 당신의 코드에 대한 두 가지 고려 사항을 본
codeigniter를 모르지만 작성한 것으로부터 '$ this-> load-> view ('register ', array ('cap'=> $ cap));'? 그런 다음 명명 된 값을 가진 배열을 전달합니다 (뷰 메서드가 원하는 것 같습니다) – Flambino
이미 시도했지만'Undefined variable : cap' 오류가 발생했습니다. – Josh
답변이있는 경우 대답으로 게시하고 답변으로 표시 함 – mattumotu