Position actuelle: Accueil> Derniers articles> Tutoriel complet sur la mise en œuvre de la fonction de connexion de l'utilisateur du système CMS

Tutoriel complet sur la mise en œuvre de la fonction de connexion de l'utilisateur du système CMS

M66 2025-07-17

Créer une table de base de données de journal de connexion utilisateur

Pour réaliser la fonction de journal de connexion de l'utilisateur, vous devez d'abord créer une table correspondante dans la base de données pour stocker les informations de connexion de l'utilisateur. Ici, prenez MySQL comme exemple pour créer un tableau nommé Login_logs , y compris des champs tels que l'ID utilisateur, la connexion IP et le temps de connexion:

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

La structure du tableau est concise et claire, et peut stocker efficacement les informations clés de chaque connexion pour les utilisateurs.

Implémenter la fonction de journalisation

Une fois que l'utilisateur se connecte avec succès, les informations de connexion doivent être écrites dans la base de données dans le temps. La fonction PHP suivante Loglogin montre comment implémenter cette fonction:

 // Enregistrer le journal de connexion des utilisateurs
function logLogin($userId, $ipAddress) {
    // Connectez-vous à la base de données
    $conn = new mysqli("localhost", "username", "password", "database");

    // Obtenez l'heure actuelle
    $loginTime = date('Y-m-d H:i:s', time());

    // structureSQLDéclaration
    $sql = "INSERT INTO login_logs (user_id, ip_address, login_time)
            VALUES ('$userId', '$ipAddress', '$loginTime')";

    // mettre en œuvreSQLDéclaration
    $conn->query($sql);

    // Fermez la connexion de la base de données
    $conn->close();
}

// Exemple d'utilisation
$userId = 1;
$ipAddress = $_SERVER["REMOTE_ADDR"]; // Obtenez l'utilisateur actuelIPadresse
logLogin($userId, $ipAddress);

Dans cette fonction, établissez d'abord une connexion de base de données, puis obtenez le temps du système actuel et enfin insérer l'ID utilisateur, l'adresse IP et le temps de connexion dans le tableau de journal pour terminer le stockage de l'enregistrement de connexion.

Journal de connexion de l'utilisateur de requête

Afin de faciliter les administrateurs pour afficher l'état de la connexion de l'utilisateur, la fonction GetLogInlogs suivante offre la fonction de l'interrogation du journal de connexion de l'utilisateur spécifié:

 // Journal de connexion de la requête
function getLoginLogs($userId) {
    // Connectez-vous à la base de données
    $conn = new mysqli("localhost", "username", "password", "database");

    // structureSQLDéclaration
    $sql = "SELECT * FROM login_logs WHERE user_id = '$userId'";

    // mettre en œuvreSQLRequête
    $result = $conn->query($sql);

    // 处理Requête结果
    if ($result->num_rows > 0) {
        while ($row = $result->fetch_assoc()) {
            // Informations sur le journal de sortie
            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.";
    }

    // Fermez la connexion de la base de données
    $conn->close();
}

// Exemple d&#39;utilisation
$userId = 1;
getLoginLogs($userId);

Cette fonction obtient tous les enregistrements de connexion de l'utilisateur spécifié via la requête de base de données et les publie un par un, ce qui facilite la visualisation et l'analyse des administrateurs.

Résumer

Grâce aux étapes ci-dessus, nous avons implémenté une fonction de journalisation de connexion de l'utilisateur de base, y compris le stockage de journaux et la requête. Cette fonctionnalité aide non seulement la gestion de la sécurité du site Web, mais fournit également une prise en charge des données pour l'analyse ultérieure du comportement des utilisateurs. Les développeurs peuvent étendre davantage leurs fonctions en fonction des besoins réels, tels que l'ajout de filtrage des journaux, d'exportation ou d'analyse statistique.