BOARD

강좌·기초

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

페이지 정보

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

본문

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

그누보드 운영 환경에서 PHP 세션과 데이터베이스 조회를 활용해 커스텀 로그인 인증 페이지(login_ok.php)를 구현하고 확인하는 방법을 살펴봅니다.

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

로그인 폼에서 전달받은 아이디와 비밀번호를 처리하고 데이터베이스에서 일치하는 계정을 조회하는 방법은 다음과 같습니다.

세션을 시작한 후 이전 페이지에서 전달된 아이디와 비밀번호를 받아옵니다. 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($is_valid) {
    session_regenerate_id(true);
    $_SESSION['adminid'] = $data["admin_id"];
    echo ("<meta http-equiv='Refresh' content='0; URL=main.php'>");
} else {
    echo "<script type='text/javascript'>alert('로그인 정보가 옳지 않습니다.');history.go(-1);</script>";
}

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.