BOARD

강좌·기초

PHP 세션을 이용한 커스텀 로그인 인증 로직 구현 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 1회 작성일 26-09-14 18:07

본문

개요

로그인 입력 폼에서 전달받은 아이디와 비밀번호를 데이터베이스 정보와 비교하고, 일치할 경우 세션을 생성하여 인증 상태를 유지하는 로그인 처리 페이지(login_ok.php) 구현 방법을 살펴봅니다.

단계별 구현 순서

로그인 처리 페이지를 구현하기 위해 준비해야 할 작업 순서와 확인 사항입니다.

  • 세션 시작 및 이전 페이지로부터 입력값 수신
  • mysqli_connect 함수를 이용한 데이터베이스 연결 설정
  • 관리자 테이블에서 아이디와 비밀번호 조회
  • 조회 결과에 따른 세션 변수 할당 및 페이지 이동 처리

데이터베이스 연결 및 입력값 처리

세션을 시작한 후 이전 페이지에서 전달된 아이디와 비밀번호를 받아옵니다. mysqli_connect 함수를 이용하여 데이터베이스에 연결하고 입력된 정보와 일치하는 관리자 계정 데이터를 조회합니다.

session_start();

$id = $_POST["id"];
$pw = $_POST["pw"];

$mysql_host = "localhost";
$mysql_user = "디비 아이디";
$mysql_password = "디비 비밀번호";
$mysql_db = "데이타베이스";

$dbconn = mysqli_connect($mysql_host, $mysql_user, $mysql_password, $mysql_db);

$sql = "select * from hp_admin where admin_id='{$id}' and admin_pw='{$pw}'";
$result = mysqli_query($dbconn, $sql);
$data = mysqli_fetch_array($result);

$isset_check = $data["admin_id"];

세션 생성 및 결과 분기

조회된 결과가 존재하면 세션 변수에 관리자 아이디와 비밀번호를 할당한 뒤 메인 페이지로 이동합니다. 정보가 일치하지 않으면 경고창을 띄우고 이전 페이지로 돌아갑니다.

if(isset($isset_check)) {
    $_SESSION['adminid'] = $data["admin_id"];
    $_SESSION['adminpw'] = $data["admin_pw"];
    echo ("<meta http-equiv='Refresh' content='0; URL=main.php'>");
} else {
    echo "<script type='text/javascript'>alert('로그인정보가 옳지 않습니다.');history.go(-1);</script>";
}

주의사항 및 복구 안내

그누보드 5 환경에서 공통 파일을 연동하여 사용할 때는 common.php 경로 설정 및 관련 설정 상수를 확인해야 합니다. 로그인 로직 수정 전에는 기존 파일을 백업하여 예기치 않은 오류 발생 시 즉시 원상태로 복구할 수 있도록 준비해야 합니다.

함께 보면 좋은 글

댓글목록

등록된 댓글이 없습니다.