[PHP] Undefined index 에러 해결방법

PHP/PHP Error 2015. 1. 7. 18:39


■ 에러상황


세션(Session)의 삭제 여부를 확인하는중 아래와 같은 에러가 발생되었다.


 delete_session.php

<span style="font-size: 12pt;"><?
    session_start();

    unset($_SESSION['userID']);
    unset($_SESSION['userName']);
    unset($_SESSION['time']);
?>

<h3>▶ 세션의 삭제</h3>
<table width = "400" border = "1">
    <tr>
        <td>아이디</td>
        <td>이름</td>
        <td>현재시각</td>
    </tr>
    <tr>
        <td><?= $_SESSION['userID'] ?></td>
        <td><?= $_SESSION['userName'] ?></td>
        <td><?= $_SESSION['time'] ?></td>
    </tr>
</table>

</span>

 출력확인


에러의 원인은 값이 없는 세션을 출력하기위해 나타난 것이었고.


아래와 같이 해결하였다.







해결방법



01. php.ini 파일을 텍스트 편집기로 열고 error reporting를 검색하고. 아래 이미지와 같이 되어 있는 부분을 찾아낸다.




02. 내용을 아래와 같이 수정하고 저장한다.

  error_reporting = E_ALL & ~E_NOTICE




03. 아파치를 재시작 한다.





04. 그리고 위 소스를 다시 실행하였을 경우 값이 없기에 아무것도 출력하지 않는것을 확인 할 수 있다.









P.S : 정식 프로그램으로 출시할 경우에는 반드시 위와같이 설정을 변경해 주어야 하겠으나.

       개발 및 테스트 단계에서는 있는게 나을 수도 있을 것 같다. 본인의 선택인듯.

       필자는 에러 메시지를 보면 철렁 하는 가슴을 가지고 있기에 일단 위와 같이 설정하고 사용중이다.

  • 앙마 2015.01.12 21:37 ADDR 수정/삭제 답글

    isset 검사 등을 통해서 해당 index의 존재를 확인하여 해당 메시지가 출력되지 않도록 코딩하는 것이 바람직해 보이지 않을까 하는 생각 하나~~~

    • 사악미소 2015.01.13 11:58 신고 수정/삭제

      음 그걸 몰랐네요.
      http://blog.naver.com/writer0713/220192600715
      요거 참고해서 해봐야 겠네요.