CI 묻고 답하기

제목 이 오류창이 도대체 왜 뜨는거죠? ㅠ,ㅠ
글쓴이 sjalove 작성시각 2013/12/02 09:38:38
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 12963   RSS
 일단 소스 보여드리겠습니다.

컨트롤러

$searchkey   = chkParam(get_seg("searchkey"),"NULL");  //검색 조건
$searchvalue = chkParam(get_seg("searchvalue"),"NULL");    //검색어


일단 함수를 설명하자면 get_seg는 view페이지에서 fost값을 가져오는 기능을 하고

 chkParam는  그 가져온값이 만약 없다면 NULL로 출력하는 기능을 가지고 있습니다.

이 함수는 
helpers/basic_helper.php에  저장 해놨고요.

말씀드리지만 기능상 아무 문제가 없습니다. 정상적으로 검색이 되고 출력이 됩니다.

하지만 list에 이런 오류 페이지가 나옵니다.


========================================

A PHP Error was encountered

Severity: Notice

Message: Undefined index: searchvalue

Filename: helpers/basic_helper.php

Line Number: 34
=========================================

basic_helper를 보면

  function get_seg($seg) {
   $CI =& get_instance();
   $es = array();
   foreach($CI->uri->uri_to_assoc(1) as $key => $val) {
    $es[$key] = $val;
   }
   
   if(count($_POST) > 0) {
    foreach($_POST as $key => $val) {
     $es[$key] = $val;
    }
   }
   
   return $es[$seg];          <-- 문제되는 34번 줄...............   
  }
무엇이 문제일까요 ? ㅠ,ㅠ  
 
저도 get_seg함수는 다른사람꺼 빌려서 쓴거라 잘 모르겠고 ㅠ,ㅠ




















 다음글 안녕하세요 날씨가 많이 추워졌네요 (3)
 이전글 폼의 흐름 질문 (3)

댓글

변종원(웅파) / 2013/12/02 10:02:54 / 추천 0
List 처음 접속할땐 저 값 자체가 없겠죠. 검색해야 넘어갈테니..
한대승(불의회상) / 2013/12/02 10:31:11 / 추천 0
반환값을 리턴해줄때 $seg 키가 있는지 먼저 확인 하시는게 좋습니다.

아래처럼 수정하면 되겠네요.

return isset($es[$seg]) ? $es[$seg] : NULL;



letsgolee / 2013/12/02 10:31:30 / 추천 0
return isset($es[$seg]) ? $es[$seg] : NULL;
sjalove / 2013/12/02 11:04:21 / 추천 0
 아. 정말 감사합니다. isset에 대해 하나더 배우고 갑니다 ㅠ,ㅠ 감사합니다 ㅠ,ㅠ