제목 | 폼에서 받은 변수 던져주기. | ||
---|---|---|---|
글쓴이 | ci입문자 | 작성시각 | 2012/11/01 11:04:30 |
|
|||
폼에서 받은 변수를 아래와 같이 받습니다. function receive() { $data['data'] = array( 'blog'=> $_POST['blog'], 'name' => $_POST['name'] ); $this->load->view(blog_view',$data); } 그래서 위 처럼 변수 취급해서 던져주었는데요~ 이 변수를 $url = 'http:blog.naver.com' +'blog변수' + 'name변수' 형태로 받아서 쓰려고 합니다. 그래서 view단을 <? foreach($data as $row) : ?> <?php $row->blog?> <? endforeach; ?> 일단 이렇게 해서, 정상적으로 $_POST['line'] 값이 출력이나 되는지 확인해 볼려 했더니, 출력 자체가 안되더라구요. 변수를 잘 못사용한걸까요?? |
|||
다음글 | 배열 넘기기 질문..... (5) | ||
이전글 | HMVC를 사용하는 이유 및 모듈화를 왜 하는가? (7) | ||
변종원(웅파)
/
2012/11/01 11:14:10 /
추천
0
|
ci입문자
/
2012/11/01 11:28:25 /
추천
0
웅파// A PHP Error was encounteredSeverity: Notice Message: Undefined variable: data Filename: views/receive_view.php Line Number: 10 NULL |
헛발이
/
2012/11/01 11:28:50 /
추천
0
foreach 사이에 echo 문이 없는데요... ^^;;
|
ci입문자
/
2012/11/01 11:30:55 /
추천
0
웅파// |
한대승(불의회상)
/
2012/11/01 11:50:24 /
추천
0
foreach로 돌릴때는 그냥
echo $row;하시면 됩니다. 물론 현재 코드상으로 말이죠.. ^^ |
ANS
/
2012/11/02 13:04:48 /
추천
0
ci초보라 코어쪽에서 어떻게 처리하는지는 잘 모르겠지만
애초 님이 쓰신 2차배열 형태로도 당연히 넘기는 방법이 있을겁니다. 다만 님이 실수 하신 것은 load->view시 $data객체가 배열로 받는다는것을 잘 몰랐던것이고 그냥 1차원 배열로 해결하셨다고 말씀하셨는데 2차배열도 종종 써야하는 상황이 많이 연출되기에 있으리라 생각합니다. 메소드안에서 $data 배열을 리턴값 없이 밖에서 "뷰" 한다는건 load->view 실행시 코어쪽에서 리턴과 cotroller 객체생성까지 처리했다건데 core쪽 load객체 특히 view메소드를 살펴보면 답이 나올듯합니다.. 전 그냥 2차배열로 넘겼더니 notice 수준의 에러는 나오는데 결과값은 처리되네요. 코어쪽 까지 살피기 귀찮다면 ci쪽도 error_reporting 해 주고 있으니 level을 낮추고 그냥 처리해도 될 듯 합니다.
|
넘긴 것은 blog, name 인데 line은 어디서 선언한거죠?
그리고 넘긴 변수를 뷰에서 찍어보면 쉽게 알수있습니다. 아주 간단하죠.....
뷰에서 echo var_dump($data); 해보세요. 어떤 값이 들어있는지...
그리고 $_POST['name'] 쓰지마시고 $this->input->post('name', TRUE) 로 쓰세요.
보안처리 해줍니다. 저렇게 사용하시면 xss, sql injection 공격에 취약합니다.