웹 개발에서 사용자 로그인 및 로그 아웃은 가장 기본적이고 중요한 기능 중 하나입니다. 이 기사는 간단한 예제를 사용하여 PHP 기능을 사용하여 전체 사용자 로그인 및 로그 아웃 프로세스를 구현하는 방법을 자세히 설명합니다.
먼저 사용자의 사용자 이름과 비밀번호를 저장하려면 데이터베이스를 작성해야합니다. 다음은 데이터베이스 및 데이터 테이블을 작성하기위한 예제 SQL 코드입니다.
Database user_info 생성; user_info를 사용하십시오. 테이블 사용자 만들기 ( id int auto_increment 기본 키, Username Varchar (255) NOT NULL, 비밀번호 Varchar (255)는 null이 아닙니다 );
다음으로 사용자가 입력 한 계정 번호와 비밀번호를 수집하려면 로그인 양식 페이지가 필요합니다.
<!DOCTYPE html> <html> <head> <title>로그인</title> </head> <body> <h1>로그인</h1> <form action="login.php" method="POST"> <label for="username">사용자 이름 :</label> <input type="text" name="username" id="username" required><br> <label for="password">비밀번호:</label> <input type="password" name="password" id="password" required><br> <input type="submit" value="로그인"> </form> </body> </html>
사용자가 양식을 제출하면 로그인 처리 페이지로 이동합니다. 이 페이지에서는 계정 비밀번호를 확인하고 세션을 활성화합니다.
<?php session_start(); // 양식 데이터를 얻으십시오 $username = $_POST['username']; $password = $_POST['password']; // 데이터베이스에 연결하십시오 $mysqli = new mysqli('localhost', 'username', 'password', 'user_info'); // 쿼리 사용자 정보 $query = "SELECT * FROM users WHERE username='$username' AND password='$password'"; $result = $mysqli-> 쿼리 ($ query); // 로그인 상태를 판단하는 경우 ($ result-> num_rows == 1) { $ _session [ 'username'] = $ username; 헤더 ( '위치 : 환영 .php'); } 또 다른 { Echo '유효하지 않은 사용자 이름 또는 비밀번호.'; } ?>
성공적으로 로그인 한 후 환영 페이지로 이동하십시오. 로그인하지 않은 경우 로그인 페이지로 자동 리디렉션됩니다.
<?php session_start(); if (isset($_SESSION['username'])) { $username = $_SESSION['username']; echo "Welcome, $username! "; echo '<a href="logout.php"> 로그 아웃 '; } 또 다른 { 헤더 ( '위치 : login.php'); } ?>
사용자가 클릭하여 로그 아웃하면 세션이 지워지고 로그인 페이지로 다시 리디렉션되어야합니다.
<?php session_start(); session_unset(); session_destroy(); header('Location: login.php'); ?>
MySQL 데이터베이스와 결합 된 PHP를 통해 간단한 사용자 로그인 및 로그 아웃 기능을 신속하게 구현할 수 있습니다. 실제 프로젝트에서 암호를 암호화하고 저장하는 것이 좋습니다 (예 : Password_hash () 사용과 같은), 검증 코드 기능 추가 및 준비된 명령문을 사용하여 SQL 주입을 방지하여 시스템 보안을 향상시킵니다.