제목 | CI 기초질문입니다. | ||
---|---|---|---|
카테고리 | 기타 | ||
글쓴이 | 센치 | 작성시각 | 2018/04/01 13:08:43 |
|
|||
콘트롤러 ============================================================== class A extends CI_Controller { public function index() { $a['c']=array("a","b","c"); $this->load->view('welcome_message',$a); } public function Some() { echo "Test 안에 Some 입니다."; $this->load->view('welcome_message'); } 뷰 ============================================================= <? foreach($c as $key => $val) { echo $val."<br>"; } ?> 주소창에 a 로 들어갈시에는 정상작동합니다만 a/some 으로 갈시에 변수값이 지정되지 않아서 오류 메시지가 나옵니다만 이럴때는 어떻게 해야하나요 A PHP Error was encountered Severity: Notice Message: Undefined variable: c
A PHP Error was encountered Severity: Warning Message: Invalid argument supplied for foreach()
뷰단에서 몬가 작업해야줘야 하나요
|
|||
다음글 | AWS 웹과 IOS, Android 앱 간의 데이터베이... (2) | ||
이전글 | CI 3.x 에서 PG사에서 보내주는 EUC-KR 읽기... (1) | ||
빛그림
/
2018/04/01 13:39:27 /
추천
0
메소드 첫글자가 대문자 이므로 a/Some 으로 접속하셔야 하고, a/some으로 접속을 원하신다면 function some() {} 이렇게 소문자로 쓰셔야 해요.
|
변종원(웅파)
/
2018/04/01 22:16:32 /
추천
1
컨트롤러에서 데이터를 넘기지 않아서 없는 것을 호출해서 나오는 에러는 지극히 정상적인 것입니다. 여러 주소에서 같은 뷰를 사용하는 것은 흔한 일이 아닙니다. (헤더, 푸터 제외) 꼭 위와 같이 써야 한다면 빈 배열이라도 넘기세요. |
센치
/
2018/04/02 02:24:13 /
추천
0
답변감사합니다
|
닥
/
2018/04/02 20:02:52 /
추천
0
일단 개념적을 설명하자면 index 함수와 some 함수는 별개 입니다. 접속시 a/some 이라고 접속하신 경우 index 함수는 동작(실행)하지 않습니다. 물론 index에 선언된 변수들도, 없는 상태 입니다. 컨트롤러의 메소드(함수) : 는 각각의 페이지 주소와 매핑되여 페이지 역활을 하고, view 와 모델을 연결해주는 역활을 합니다. view : 사용자에게 제공되는 화면을 구성합니다. 컨트롤러에서 가공된 데이터를 내려받아 화면에 표시하는 역활도 합니다.
자 위에 설명한 데로 보자면 some의 경우 컨트롤러에서 데이터를 아무것도 내려주지 않았기 대문에, view에서는 데이터가 없어서 에러를 표시 한다고 이해 하시면 됩니다. |