배열이 아닌 것을 배열 변수로 만들어서 검색결과를 알고 싶은 경우가 있다.
검색조건(search_item) 은 이름, 전화번호, 부서명 등으로 지정하고
검색어를 넣어서 배열에서 검색결과 처리를 하고자 할 경우 로직의 예이다.
첫번째 행의 변수는 $search[0] 로 할당하고, 두번째 행
$search_keyword = isset($_REQUEST['searchValue']) ? urldecode($_REQUEST['searchValue']) : '';
를
$search[1] = isset($_REQUEST['searchValue']) ? urldecode($_REQUEST['searchValue']) : '';
로 하면 배열 선언이 없는 상태라서 에러가 발생한다.
이렬 경우 보통은
php.ini 에서
error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE
로 처리하라고 되어 있다.
개발하면서 이 옵션은
error_reporting = E_ALL
로 설정해서 개발을 해야 에러가 발생하는 부분을 전부 화면에 표시를 해주므로 로직상의 문제점을 제거하면서 개발을 할 수 있다.
$search_item = isset($_REQUEST['searchName']) ? $_REQUEST['searchName'] : '';
$search_keyword = isset($_REQUEST['searchValue']) ? urldecode($_REQUEST['searchValue']) : '';
if(strlen($search_keyword) == 0){ // 입력값이 없으면 목록 없음 출력
echo '<li data-icon="false">';
echo '<a href="#">목록이 없습니다</a>';
echo '</li>';
} else {
// 검색어 값이 존재하면 배열 변수로 저장
$search = array($search_item,$search_keyword);
$c=new MemberClass;
$rs=$c->MemberSearch($search);
if($rs==0){ // 검색결과가 없으면
echo '<li data-icon="false">';
echo '<a href="#">목록이 없습니다.</a>';
echo '</li>';
} else { // 검색결과가 있으면
// 검색결과 처리
}
}
'Web 프로그램 > Web 디버깅' 카테고리의 다른 글
[ajax 에러] JSON.parse: unexpected character at line 1 column 1 of the JSON data (0) | 2017.02.18 |
---|---|
PHP 디버깅 요령 및 경고메시지 처리 방법 (2) | 2016.11.30 |
비정상 접속 체크 (0) | 2016.05.04 |
PHP alert 창 띄우기 (0) | 2016.04.10 |
[PHP] error 메시지 출력 (0) | 2015.04.11 |