IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[SQL] fichier log.txt capricieux et bdd sql !


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 20
    Par défaut [SQL] fichier log.txt capricieux et bdd sql !
    salut !
    j'ai commencé a coder un modeste fichier log pour mon site, ce qui donne ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function historique($qui, $quoi, $sur) 
    	{ 
    		$jour = date("d");
    		$mois = date("m");
    		$annee = date("Y");
    		$heure = date("H");
    		$minute = date("i");
    		$ip = get_ip();
    		$fichier = fopen("historique.txt", "a");
    		fputs($fichier, "[IP : $ip] $qui $quoi $sur a $heure:$minute le $jour/$mois/$annee \n");
    		fclose($fichier);
    	}
    et ensuite sur chaque page a surveiller, je met par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    historique($_SESSION['pseudo'], 'supprime l article : ', $titr);
    ca fonctionne mais pas top, car certaines fois et sans raison apparente, l'enregistrement ne se fait pas. (je vois par exemple ma connection au site, une retouche d'article mais pas la suppression d'un autre)

    à votre avis mon code parait correct ou il y a des chance que ca vienne de là? (le chmod est à 777 acuellement sur le txt)

    deuxieme petite question : vu les problemes avec un .txt et si il n'y a pas de solution visible, je pensais faire un log avec une base SQL (je rentre une ligne a chaque fois) mais je trouve ca beaucoup moins bien, qu'en pensez vous?

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Bonjour,

    Tu as probablement une erreur de syntaxe dans la partie du code qui n'écrit pas dans le fichier log. Tu peux mettre ton code qui ne fonctionne pas ici ?

    Comme ton code écrit déjà, ce n'est pas un problème de droits.

    Enfin,
    Mysql te permettrait de classer , supprimer , rechercher etc dans tes logs plus facilement que dans un fichier texte.

    1 champ datetime, 1 champ user, 1 champ action (enum : connexion, deconnexion, écriture, suppression, etc...) 1champ commentaire où tu mets le type de documment supprimé, créé ou un commentaire.

    ça te permettra d'effacer aussi les logs anciens et ne conserver que les plus récents en te basant sur la date. Et ça ne t'empêche pas de créer un fichier log quand tu en as besoin en récupérant les entrées dans la Bdd ou de les afficher dans ton backoffice.Tu pourras même appliquer des filtres pour ne récupérer que les logs de connexion ou que les logs concernant les actions sur les articles etc...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 20
    Par défaut
    dans le reste du code il n'y a aucun probleme, il fonctionne tres bien !
    je trouvais que faire une bdd sql pour un log etait un peut démesuré...

    mais bon, vu que je ne vois pas du tout d'ou ca vient pour le txt je commence a la faire !

    merci !

  4. #4
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    ca fonctionne mais pas top, car certaines fois et sans raison apparente, l'enregistrement ne se fait pas.
    dans le reste du code il n'y a aucun probleme, il fonctionne tres bien !
    Faudrait savoir !?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 20
    Par défaut
    désolé j'ai pas été tres clair !

    Le code AUTOUR focntionne tres bien, seul la fonction historique(); à des ratées. par exemple, si à un moment j'enregistre un article :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mysql_query("INSERT INTO articles VALUES('', '$type', '$titre', '$article', '$pseudo', '1')");
    historique($_SESSION['pseudo'], 'cree un nouvel article titre :', $titre);
    l'enregistrement fonctionne parfaitement, l'article est créé, mais la fonction historique n'enregistre rien dans le fichier txt.

    je trouve ca assez étrange...

  6. #6
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Tu n'aurais pas une apostrophe dans le $titre que tu envoies à historique() ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 20
    Par défaut
    J'ai tout passé sur une BDD SQL pour l'historique et ca marche impeccablement bien ! merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/04/2015, 23h38
  2. Réponses: 10
    Dernier message: 02/04/2007, 17h22
  3. [SQL] Upload/download de fichiers ou images dans une BDD sql
    Par boniface dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 31/07/2006, 16h04
  4. [PL/SQL] Ecrire dans un fichier log
    Par bybeach dans le forum Oracle
    Réponses: 4
    Dernier message: 14/06/2006, 16h22
  5. [SQL LOADER - Oracle 9i] Mode verbose du fichier LOG ?
    Par ludmillaj dans le forum SQL*Loader
    Réponses: 3
    Dernier message: 31/01/2006, 01h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo