現在の位置: ホーム> 最新記事一覧> 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);

この関数は、データベースクエリを介して指定されたユーザーのすべてのログインレコードを取得し、それらを1つずつ出力するため、管理者が表示および分析を容易にします。

要約します

上記の手順を通じて、ログストレージやクエリなどの基本的なユーザーログインログログ機能を実装しました。この機能は、Webサイトのセキュリティ管理に役立つだけでなく、後続のユーザー行動分析のデータサポートも提供します。開発者は、ログフィルタリングの追加、エクスポート、統計分析など、実際のニーズに応じて機能をさらに拡張できます。