CI 묻고 답하기

제목 뷰에서 변수를 받아서 처리하는 부분 질문합니다.
카테고리 CI 2, 3
글쓴이 야근싫어요 작성시각 2020/04/17 17:45:16
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 13071   RSS

컨트롤러에서 데이터를 넘겨주었는데, 받을 때 다른거 같아 질문드립니다.

 

우선 소스부터 보여드리겠습니다.

 

컨트롤러.

public function xssForm()
    {
        $csrf = array(
            'name' => $this->security->get_csrf_token_name(),
            'hash' => $this->security->get_csrf_hash()
        );

        $this->load->view('xss', $csrf);
    }

 

<!DOCTYPE html>
<html lang="ko">
    <meta charset="UTF-8">

    <title>XSS Form</title>

    <body>
        <?php
            echo $csrf['name']; // 출력이 안됨
            echo $name; 출력됨  
         ?>
        <form id="xss" name="xss" action="xss_proc" method="post">
            <h4>XSS Form.</h4>
            <input type="submit" id="xss_proc" value="xss 테스트">
        </form>
    </body>
</html>

 

 

뷰에서 보시면 

 

 echo $csrf['name']; // 출력이 안됨
 echo $name; 출력됨 

 

설정파일에서 제가 설정을 누락한것일까요?

 

 다음글 코드이그나이터에서 템플릿 상속하는방법 (1)
 이전글 (CI3)URL / index.php 제거 관련 질문입... (6)

댓글

배강민 / 2020/04/17 17:51:59 / 추천 0

http://www.ciboard.co.kr/user_guide/kr/general/views.html#adding-dynamic-data-to-the-view

원래 그렇습니다.

배열을 어싸인하지만 실제 사용시는 배열의 키를 변수로 사용합니다.

배강민 / 2020/04/17 17:54:04 / 추천 0

저렇게 사용하고 싶으시다면

$this->load->view('xss', ['csrf'' => ['name' => 'foo', 'hash' => 'bar']]);

이렇게 하시면 될겁니다.