CI 묻고 답하기

제목 두가지 질문이 더있습니다..^^
글쓴이 정민스 작성시각 2010/03/26 18:20:37
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 21288   RSS
이제 간단한 게시판을 거의 완성해 나가고 있습니다.

제 질문에 친절히 답변해 주셔서 감사합니다.

이제 이것만 해결되면 대충 완성할 수 있을것 같습니다.

1. 검색과 페이징을 더불어 하면서 로직이 복잡해집니다.

검색을 한뒤, 페이징을 하는 경우에는.. 어떻게들 처리하시나요?
원래대로라면 get 값으로 던져줬겠지만, CI 로는 segment를 이용해야 되는데..

/bbs/printList/srch_option/title/srch_txt/검색내용/page/1

이렇게 하려고 생각중입니다만, 추후에 붙어야 될 내용이 검색 말고 훨씬 더 많은 값들이 있어야 된다면..
어떻게 해야될지..
사실 CI 를 쓰면서 가장 어려운 부분이 get 대신 segment 를 써야 하는 부분인거 같네요.

또한, 제가 아래 쓴 글대로 uri_to_assoc 에 버그가 있는것 같은데..
값이 없을 경우가 문제라서요.. 이것도 어떻게 해야될지 모르겠습니다.

2. "폼값이 없을 때" 를 어떻게 처리 해야될까요?

if ($_post['name'])  이와 같은 구문을 사용할 때, 폼값이 아예 넘어오지 않았을 때
에러가 발생하더군요.. 일일히 함수를 만들 수 도 없고..
어떻게 처리해야되는지 궁금합니다..^^.
 다음글 db질문, hit=hit+1 (2)
 이전글 Pagination 사용에 관한 질문.. (2)

댓글

변종원(웅파) / 2010/03/26 21:20:46 / 추천 0

주소를 만들어주는 함수를 하나 만들어서 쓰시면 됩니다.

배열 쌍에 값이 없을 경우엔 아예 주소에 나타나지 않도록 하면 됩니다.
어차피 쓰시다보면 일일이 주소를 적어주는 것보다 원하는 주소를 배열로 넣고 만들어 쓰게 됩니다.

세그먼트를 쓰거나 post로 넘기거나 쿠키로 굽는 방법도 있고 세그먼트와 get방식을 혼용할 수도 있습니다.


없는 변수가 넘어가는 기본적인 원인은 값이 없을때를 if로 처리하거나 변수를 미리 선언해서 쓰면 되는데
대부분 귀찮아서 안하죠. 아래에도 달았지만 기본적인 것을 지키시면 굳이 고민할 필요가 없습니다.

위의 구문이 에러나는 경우는 전 페이지에서 <input name="name">이 아예 없는 경우에 에러가 납니다.
전 페이지에서 없는 변수를 받는 페이지에서 쓰려고 하는 것 자체가 문제가 있는겁니다.