백엔드 언어2017. 3. 23. 19:37

login.php

 ID와 암호를 입력받아 process.php로 전달하는 소스입니다.




process.php

 ID와 암호를 비교하여 로그인 성공 여부를 판별합니다.

 POST 방식으로 전달된 파라미터를 읽을 때는 $_POST["변수명"]을 사용하고, GET 방식으로 전달된 파라미터를 읽을 때는$_GET["변수명"]을 사용합니다. GET, POST 구분 없이 어떤 파라미터를 읽을 때는 $_REQUEST["변수명"]을 사용합니다.

 login.php에서 전달받은 ID와 암호를 저장된 내용과 비교하여 일치하면 로그인 성공 및 세션 생성. PHP에서 세션을 사용하는 페이지는 항상 사용 전 session_start(); 함수를 호출하여야 하며 이는 새로운 세션을 생성하거나 기존 세션을 불러오는 역할을 합니다. 이 session_start는 소스 코드의 가장 첫 줄에서 호출되어야 합니다. 줄바꿈도 허용되지 않습니다.

 만일 1줄에 session_start();를 호출하도록 적었는데도 "Cannot send session cookie - headers already sent" 오류가 뜬다면 소스 파일 첫 글자에 이 텍스트 파일이 UTF-8인지 UTF-16 LE/BE인지를 식별하는 BOM(Byte Order Mark)문자가 들어있는 문제로서 Windows 메모장으로는 해결할 수 없으므로 EditPlus 등의 편집기로 열어 BOM이 없는 텍스트 파일로 다시 저장해야 합니다.

 세션에 저장된 값을 가져오거나 설정하려면 $_SESSION["변수명"]을 사용하면 됩니다.





logout.php

 세션을 삭제하여 로그아웃 처리합니다.

 session_start();을 사용하여 기존 세션을 불러오고 session_destroy();을 호출하여 불러온 세션을 파괴합니다.


Posted by EL2A