• Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
Forum de libres discussions autour du jeux vidéo (cheats, glitches, hacks, modding, réalité virtuelle VR, cryptomonnaies) - YOUPASS - convertir le crédit téléphonique en monnaie ! : Partenaire RealityGaming.fr - RealityGaming

PHP [RELEASE] Système de logs pour votre site !

Statut
N'est pas ouverte pour d'autres réponses.

Nekr0w

Développeur web
Premium
Inscrit
22 Septembre 2012
Messages
416
J'aime
148
Points
4 133
Reply from Nekr0w Forums généraux Informatique Programmation Programmation web : [RELEASE] Système de logs pour votre site ! #1
Bonjour à tous, aujourd'hui je vous fais ce petit tuto pour vous apprendre à faire des logs pour votre site Forum de libres discussions autour du jeux vidéo (cheats, glitches, hacks, modding, réalité virtuelle VR, cryptomonnaies) - :) - RealityGaming

Tout d'abord, vous devrez créer une table SQL logs avec les infos suivantes :

- id (int, auto increment)
- name (varchar)
- action (varchar)
- details (varchar)
- page (varchar)
- ip (varchar)
- date (int)

Une fois que vous avez fais ça, créer un fichier php que vous appellerez fonctions.php ou comme vous voulez, et vous allez insérer le code suivant :

PHP:
function insertLog($action, $details) {
   
        if(isset($_SESSION['login'])) {
       
            $login = $_SESSION['login'];
           
        }
        else $login = "Guest";
   
        $ip = $_SERVER['REMOTE_ADDR'];
   
        $log = mysql_query("INSERT INTO logs VALUES ('', '". $login ."', '". $action ."', '". $details ."', '". $_SERVER['PHP_SELF'] ."', '". $ip ."', '". time() ."')");
       
        if(!$log) return false;
       
        else return true;
   
    }
Petite explication :

Lorsque vous voudrez insérer un log sur votre base de données, par exemple une connexion, vous écrirez ça :

PHP:
<?php

$log = insertLog("Connexion", "Connexion reussie");

?>
Cela vous ajoutera un log comme ceci

Forum de libres discussions autour du jeux vidéo (cheats, glitches, hacks, modding, réalité virtuelle VR, cryptomonnaies) -  - RealityGaming


Donc récapitulons, si vous voulez insérer un système de log dans une connexion, vous devrez avoir ceci dans votre code :

PHP:
if (isset($_POST['login'])) {
    # code...
    if (mysql_num_rows($requetedeconnexion) == 1) {
        # code...
        $log = insertLog("Connexion", "Connexion reussie");
    }
    else { #si le mot de passe est érroné
        $log = insertLog("Tentative de connexion", "Pseudo : ". $login ."<br>Password : ". $password ."");
    }
}
N'oubliez pas d'inclure votre fichier fonctions.php en début de code avec include() !

J'espère avoir été assez clair ^^ Si vous avez la moindre question, n'hésitez à me MP Forum de libres discussions autour du jeux vidéo (cheats, glitches, hacks, modding, réalité virtuelle VR, cryptomonnaies) - ;) - RealityGaming
 
D

deleted244412

Invité
Reply from deleted244412 Forums généraux Informatique Programmation Programmation web : [RELEASE] Système de logs pour votre site ! #2
Merci c'est cool Forum de libres discussions autour du jeux vidéo (cheats, glitches, hacks, modding, réalité virtuelle VR, cryptomonnaies) - :ok: - RealityGaming
 
Inscrit
31 Octobre 2013
Messages
1 384
J'aime
351
Points
4 363
Reply from ROKZ- Forums généraux Informatique Programmation Programmation web : [RELEASE] Système de logs pour votre site ! #3
Merci j'en avais besoin !
 
Inscrit
10 Décembre 2011
Messages
83
J'aime
27
Points
3 620
Reply from dampenfr31 Forums généraux Informatique Programmation Programmation web : [RELEASE] Système de logs pour votre site ! #4
Merci, mais pourrais-tu rajouter une colonne avec l'ip de création et une colonne avec toutes les ip avec lesquelles le compte a été accédé ?
Bien-sur si une ip est deja dans cette colonne, elle est ignorée Forum de libres discussions autour du jeux vidéo (cheats, glitches, hacks, modding, réalité virtuelle VR, cryptomonnaies) - ;) - RealityGaming
Sa serait vraiment super sympas, et si tu t'y connais vraiment bien, j'ai un truc a te demander mais on verra ça plus tard !
Encore merci du partage !
 

Nekr0w

Développeur web
Premium
Inscrit
22 Septembre 2012
Messages
416
J'aime
148
Points
4 133
Reply from Nekr0w Forums généraux Informatique Programmation Programmation web : [RELEASE] Système de logs pour votre site ! #5
Bah ouais mais viens privé pour en discuter je t'explique comment faire Forum de libres discussions autour du jeux vidéo (cheats, glitches, hacks, modding, réalité virtuelle VR, cryptomonnaies) - ;) - RealityGaming
 
Inscrit
3 Décembre 2013
Messages
48
J'aime
15
Points
71
Reply from T93C Forums généraux Informatique Programmation Programmation web : [RELEASE] Système de logs pour votre site ! #6
C'est gentil de ta part, mais sa l'aurais étais encore plus si tu aurais fournis la partie SQL Forum de libres discussions autour du jeux vidéo (cheats, glitches, hacks, modding, réalité virtuelle VR, cryptomonnaies) - ;) - RealityGaming
 
Inscrit
5 Juillet 2014
Messages
14
J'aime
7
Points
78
Reply from SkyzohKey Forums généraux Informatique Programmation Programmation web : [RELEASE] Système de logs pour votre site ! #7
Pourquoi ne pas avoir fais cela sous forme de classe statique ?
De plus, stocker la fonction dans une variable alors qu'elle renvoi uniquement true ou false n'est pas super utile et te prend 1 place en mémoire pour rien.

Exemple:
PHP:
<?php
/**
*    Log System by Nexaz
*    Remake by SkyzohKey
**/

class Logger
{
    /**
    * Function Connect to db.
    * @return PDO Connection pointer.
    **/
    private function connect()
    {
        try
        {
            return new PDO("mysql:host=$dbHost;dbname=$dbName", $dbUser, $dbPass);
        }
        catch (Exception $e)
            throw new Exception("Error Processing Request : " . $e, 1);   
    }   

    /**
    * Function Add log.
    * @param $action : Type of the log.
    * @param $message : Message to log.
    * @return null.
    **/
    public static function add($action, $message)
    {
        // Ternaire condition.
        $login = (isset($_SESSION["login"])) ? $_SESSION["login"] : "Guest";
        $ip = $_SERVER["REMOTE_ADDR"];

        // PDO Connetion, more secure.
        $db = $this->connect();
        $db->prepare("INSERT INTO logs VALUES (NULL, :login, :action, :details, :script, :ip, :time")
            ->bindParam(":login", $login)
            ->bindParam(":action", $action)
            ->bindParam(":details", $message)
            ->bindParam(":script", $_SERVER["PHP_SELF"])
            ->bindParam(":ip", $ip)
            ->bindParam(":time", time())
            ->execute();

        return null;
    }
}
 

Nekr0w

Développeur web
Premium
Inscrit
22 Septembre 2012
Messages
416
J'aime
148
Points
4 133
Reply from Nekr0w Forums généraux Informatique Programmation Programmation web : [RELEASE] Système de logs pour votre site ! #8
Joli code, mais la release était pour faire au plus simple pour que la maximum de gens puissent comprendre Forum de libres discussions autour du jeux vidéo (cheats, glitches, hacks, modding, réalité virtuelle VR, cryptomonnaies) - ;) - RealityGaming Mais c'est vrai tu as raison en partie Forum de libres discussions autour du jeux vidéo (cheats, glitches, hacks, modding, réalité virtuelle VR, cryptomonnaies) - :) - RealityGaming
 

Wice le PONEYYY

Membre Premium
Premium
Inscrit
1 Avril 2012
Messages
357
J'aime
88
Points
2 563
Reply from Wice le PONEYYY Forums généraux Informatique Programmation Programmation web : [RELEASE] Système de logs pour votre site ! #9
merci c'est sympas de ta part
 
Inscrit
5 Juillet 2014
Messages
14
J'aime
7
Points
78
Reply from SkyzohKey Forums généraux Informatique Programmation Programmation web : [RELEASE] Système de logs pour votre site ! #10
J'oubliais, pour utiliser ma classe il suffit de faire comme suit :
PHP:
<?php
require_once("Logger.class.php");

// Pour créer un nouveau log :
Logger::add("Achat", "Le produit « Femme toute nue » vient d'être acheté par XXX-Men pour 666€.");
?>
 
Statut
N'est pas ouverte pour d'autres réponses.


Haut