제목 | GET 파라메터(검색단) 처리 관련 질문입니다. | ||
---|---|---|---|
글쓴이 | 꽈찌쭈 | 작성시각 | 2016/05/18 16:47:36 |
|
|||
안녕하세요 한창 CI를 공부중에 있는데요
게시판 리스트, 쓰기, 수정, 삭제 등 처리는 다 했는데 검색쪽에 문제가 있어 질문을 드립니다.
기존 PHP코드에서는 /board/board_list.php?shows=Y 이런식으로 검색하게 되있습니다. 관련 소스는 밑에 있구요 <? // 게시판 호출 쿼리 // 공개여부 'Y', 'N' : shows $shows = $_GET['shows']; $selected['shows'][$shows] = "selected"; ?> <select> <option value="" selected="selected">전체</option> <option value="Y" <?=$selected['shows]['Y']?>>노출</option> <option value="N" <?=$selected['shows]['N']?>>미노출</option> </select> 이런식으로 처리하였을때 검색어 파라메터가 없어도 잘 처리가 되는데
CI에서 구현을 하려고 하니 컨트롤러에서 GET값을 받아 검색 처리한뒤 $data['selected']['shows'][$shows] = "selected"; 이런식으로 보내주었습니다. 값이 있을 경우에는 정상적으로 되었지만 값이 없거나 반대값이 들어간 부분은 오류가 났습니다. 위와 같은 문제의 해결방법이 있을까요? |
|||
다음글 | <?= ?>와 <?php =? 차이점 (2) | ||
이전글 | php, ci 에서 파일업로드를 막을수있나요? (2) | ||
kaido
/
2016/05/18 17:09:09 /
추천
0
|
변종원(웅파)
/
2016/05/18 17:18:08 /
추천
0
게시판 이동합니다.
|
꽈찌쭈
/
2016/05/18 17:28:11 /
추천
0
우선 답변 감사드립니다. 위에 올린 소스는 실제로 사용중인 소스이구요. 따로 값을 분기처리 하지 않아도 정상적으로 작동해서 CI에서도 비슷하게 적용을 해봤지만 안되서 질문을 올렸습니다. 정확한 답변을 위해 질문을 약간 수정하였습니다 |
kaido
/
2016/05/18 17:44:11 /
추천
0
값이 없다는 것이 ?shows=Y <- 파라메터 값이 없다는 의미 인가요? ?shows= 이렇게?
ps. ci 문법으로는 $this->input->get('shows', true); 입니다. post 인경우에는 $this->input->post('shows' ,true); |
꽈찌쭈
/
2016/05/18 18:11:45 /
추천
0
// kaido 네 값이 없을 경우에 board_list.php?shows= 또는 board_list.php 입니다. CI에서 GET값은 $search_data = $this->input->get(NULL, TRUE); 이렇게 처리해주었습니다. |
kaido
/
2016/05/18 18:15:39 /
추천
0
일단 해당 로직 대로라면 제가 제시했듯이 shows 가 공란이 안되게 처리해 주어야합니다.
$selectd['...']['$shows'] 당연하게도 공백이면 $selectd['...'][''] 이거와 같습니다. 즉 에러 나는게 정상입니다. 이건 CI가 아니라 php 기본적으로 나오는 에러입니다.
$this->input->get(NULL, TRUE); null 이 자동으로 처리 되진 않습니다. 정확하게 받는 메소드 명 name을 넣어 주세요. |
꽈찌쭈
/
2016/05/18 18:34:41 /
추천
0
// kaido 답변 감사합니다. 제시해주신 방법도 참고해보겠습니다. $this->input->get(NULL, TRUE);은 메뉴얼을 보니 첫번째 파라미터를 NULL로 해주면 넘어오는 모든 GET값을 필터 적용이 된다고 나와있어서 입니다. |
kaido
/
2016/05/19 08:58:03 /
추천
0
@꽈찌쭈 메뉴얼 확인해보니 그렇네요. [ 오히려 한수 배웠네요 ㅎㅎ |
1. 일단 CI 문법이 아닙니다. [즉 CI하고 관련 없습니다]
2. PHP 네이티브 문법으로 사용하면 당연하게도 동일하게 작동 합니다. [CI라서 php 문법에서 문제가 생기는 것은 없습니다]
3. 해당 코드 처럼 키값이 '' 이 되면 어디든 오류가 나옵니다.
기존 네이티브 코드에는 해당 키값이 빠지는 부분을 체크해서 처리 하는 부분이 있을 것입니다.
다시 확인해 보세요.