현재 위치: > 최신 기사 목록> CMS 시스템의 사용자 로그인 기능 구현에 대한 완전한 자습서

CMS 시스템의 사용자 로그인 기능 구현에 대한 완전한 자습서

M66 2025-07-17

사용자 로그인 로그 데이터베이스 테이블을 만듭니다

사용자 로그인 로그 기능을 실현하려면 먼저 데이터베이스에 해당 테이블을 작성하여 사용자의 로그인 정보를 저장해야합니다. 여기에서 MySQL을 예로 들어서 사용자 ID, 로그인 IP 및 로그인 시간과 같은 필드를 포함하여 login_logs 라는 테이블을 작성하십시오.

 CREATE TABLE login_logs (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    user_id INT,
    ip_address VARCHAR(45),
    login_time DATETIME
);

테이블 구조는 간결하고 명확하며 사용자를위한 각 로그인의 주요 정보를 효과적으로 저장할 수 있습니다.

로깅 기능을 구현하십시오

사용자가 성공적으로 로그인 한 후에 로그인 정보는 데이터베이스에 제 시간에 데이터베이스에 기록해야합니다. 다음 PHP 함수 Loglogin 은이 기능을 구현하는 방법을 보여줍니다.

 // 사용자 로그인 로그를 기록합니다
function logLogin($userId, $ipAddress) {
    // 데이터베이스에 연결하십시오
    $conn = new mysqli("localhost", "username", "password", "database");

    // 현재 시간을 얻으십시오
    $loginTime = date('Y-m-d H:i:s', time());

    // 구조SQL성명
    $sql = "INSERT INTO login_logs (user_id, ip_address, login_time)
            VALUES ('$userId', '$ipAddress', '$loginTime')";

    // 구현하다SQL성명
    $conn->query($sql);

    // 데이터베이스 연결을 닫습니다
    $conn->close();
}

// 사용의 예
$userId = 1;
$ipAddress = $_SERVER["REMOTE_ADDR"]; // 현재 사용자를 얻으십시오IP주소
logLogin($userId, $ipAddress);

이 기능에서 먼저 데이터베이스 연결을 설정 한 다음 현재 시스템 시간을 얻은 다음 마지막으로 로그인 레코드의 저장을 완료하기 위해 사용자 ID, IP 주소 및 로그인 시간을 로그 테이블에 삽입하십시오.

쿼리 사용자 로그인 로그

관리자가 사용자 로그인 상태를 보도록 용이하게하기 위해 다음 GetLoginLogs 함수는 지정된 사용자 로그인 로그를 쿼리하는 기능을 제공합니다.

 // 쿼리 로그인 로그
function getLoginLogs($userId) {
    // 데이터베이스에 연결하십시오
    $conn = new mysqli("localhost", "username", "password", "database");

    // 구조SQL성명
    $sql = "SELECT * FROM login_logs WHERE user_id = '$userId'";

    // 구현하다SQL질문
    $result = $conn->query($sql);

    // 处理질문结果
    if ($result->num_rows > 0) {
        while ($row = $result->fetch_assoc()) {
            // 출력 로그 정보
            echo "ID: " . $row["id"] . "<br>";
            echo "User ID: " . $row["user_id"] . "<br>";
            echo "IP Address: " . $row["ip_address"] . "<br>";
            echo "Login Time: " . $row["login_time"] . "<br><br>";
        }
    } else {
        echo "No login logs found.";
    }

    // 데이터베이스 연결을 닫습니다
    $conn->close();
}

// 사용의 예
$userId = 1;
getLoginLogs($userId);

이 기능은 데이터베이스 쿼리를 통해 지정된 사용자의 모든 로그인 레코드를 얻고 하나씩 출력하여 관리자가 더 쉽게보고 분석 할 수 있도록합니다.

요약

위의 단계를 통해 로그 스토리지 및 쿼리를 포함한 기본 사용자 로그인 로깅 기능을 구현했습니다. 이 기능은 웹 사이트 보안 관리에 도움이 될뿐만 아니라 후속 사용자 행동 분석에 대한 데이터 지원을 제공합니다. 개발자는 로그 필터링, 내보내기 또는 통계 분석과 같은 실제 요구에 따라 기능을 더 확장 할 수 있습니다.