Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/10/2011, 17h03   #1
Invité de passage
 
Homme Kévin
Étudiant
Inscription : octobre 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Kévin
Localisation : France, Vienne (Poitou Charente)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2011
Messages : 21
Points : 4
Points : 4
Par défaut Ecriture de requêtes SQL dans fichier .TXT

Bonjour,
Je suis nouveau sur ce forum que j'ai très souvent utilisé pour trouver réponse à mes problèmes de développement mais là je sèches....

Contexte:
Je suis entrain de développer un site web permettant la gestion de vente de produits...
Pour cela, j'utilise une BDD sous Postgres.

Souhait:
A chaque fois qu'une requêtes sql d'insertion, de modification ou de suppression est effectuer sur la BDD, je souhaites que cette requêtes soit automatiquement enregistrer dans un fichier .TXT avec la date et l'heure de l'éxécution.

Problème:
J'ai écrit le script suivant:
Citation:
<?php
$dbconnect=pg_connect("host=localhost dbname=PTI user=postgres password=XXXXx");

if ( (isset($_GET["lib"]) && isset($_GET["marque"]) )) {
$lib=$_GET['lib'];
$marque=$_GET['marque'];
$count = "INSERT INTO categorie VALUES (default,'".$lib."','".$marque."')";

pg_query($dbconnect, $count);}
else { echo("Erreur!");}


if (!empty($count)) {
$fp= fopen('log.txt',"a"); //On ouvre le fichier
fclose($fp); //On ferme le fichier

}
?>
Or rien ne s'écrit dans le fichier log.TXT.
L'insertion est correctement effectuée dans la BDD.

A moins que ce soit mon script de lecture et affichage du fichier qui soit faux ??
Citation:
<?php
$ligne="";
$monfichier=fopen("log.txt", "r"); //Ouverture du fichier
echo '<table>';
while($ligne=fgets($monfichier))
{
echo '<tr><td>'.$ligne.'</td></tr>';
}
echo '</table>';
fclose($monfichier);
?>
Merci de votre aide
Kevfou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2011, 17h12   #2
Membre expérimenté
 
Inscription : janvier 2007
Messages : 622
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 622
Points : 555
Points : 555
Bonjour,
Il ne manquerait pas une ligne? La deuxième :

Code php :
1
2
3
$fp= fopen('log.txt',"a"); //On ouvre le fichier
fwrite($fp,$count."\n"); // On ajoute la ligne
fclose($fp); //On ferme le fichier

Autrement, ne penses tu pas que c'est assez rébarbatif d'utiliser cette méthode du fait que tu seras obligé de modifier tous tes points de code où tu lances une requête à moins que ce ne soit le seul endroit.
kabkab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2011, 17h15   #3
Invité de passage
 
Homme Kévin
Étudiant
Inscription : octobre 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Kévin
Localisation : France, Vienne (Poitou Charente)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2011
Messages : 21
Points : 4
Points : 4
J'avais cette ligne mais je l'ai supprimer pensant que c'était là l'erreur.
ça ne fonctionne toujours pas, ok pour l'insertion dans la BDD mais quand après j'ouvre mon log.txt avec un doucle-clique.... Rien

Je n'ai pas le choix, il faut que je sauvegardes chaque requêtes...
Kevfou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2011, 17h15   #4
Membre actif
 
Femme
Apprenti/ Dev C++
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Apprenti/ Dev C++
Secteur : Finance

Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 175
Points : 175
Bonjour,
As tu vérifié que les droits soient suffisant en écriture, dans de lointains souvenirs j'aurais utilisé w pour être sur d'être au debut du fichier. Sinon vérifie le code de retour de fwrite, savoir ce qu'il en est.
Malinaka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2011, 17h17   #5
Invité de passage
 
Homme Kévin
Étudiant
Inscription : octobre 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Kévin
Localisation : France, Vienne (Poitou Charente)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2011
Messages : 21
Points : 4
Points : 4
fwrite permet d'écrire en binaire, or je souhaites écrite la requetes comme elle est.
Kevfou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2011, 17h32   #6
Membre actif
 
Femme
Apprenti/ Dev C++
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Apprenti/ Dev C++
Secteur : Finance

Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 175
Points : 175
Escuse moi j'avais mal compris en fait tu as enlevé fwrite? donc tu cherche un methode d'ecriture? Si c'est ca fputs permet d'ecrire des strings dans un fichiers si je ne me trompe pas: http://php.net/manual/fr/function.fputs.php
Malinaka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2011, 17h34   #7
Invité de passage
 
Homme Kévin
Étudiant
Inscription : octobre 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Kévin
Localisation : France, Vienne (Poitou Charente)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2011
Messages : 21
Points : 4
Points : 4
J'ai essayé juste avant que tu postes ta réponses Malinaka mais toujours rien.
je me demandes si mon fichier est bien reconnu. Pourtant il est à la racine du dossier et c'est bien un fichier .txt

Même ceci ne fonctionne pas

$fp= fopen('log.txt',"a"); //On ouvre le fichier
fputs($fp,"lol");
fclose($fp); //On ferme le fichier

Donc ya vraiment un soucis au niveau de l'accée au fichier je penses

MAJ:
$fp= fopen('log.txt',"a"); //On ouvre le fichier
fputs($fp,"lol");
fclose($fp); //On ferme le fichier
dans un fichier à part, ça fonctionne parfaitement !!
Donc c'est bien que dans mon fichier .php, je ne peux pas accéder à log.txt. Pourquoi ?....
Quand je test
Kevfou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2011, 17h44   #8
Membre actif
 
Femme
Apprenti/ Dev C++
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Apprenti/ Dev C++
Secteur : Finance

Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 175
Points : 175
as tu essayé avec le droit en w au lieu de a? Sinon un problème d'adressage, mais si tes fichiers sont dans le même repertoire, je suis à cours d'idées...
Malinaka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2011, 17h45   #9
Invité de passage
 
Homme Kévin
Étudiant
Inscription : octobre 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Kévin
Localisation : France, Vienne (Poitou Charente)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2011
Messages : 21
Points : 4
Points : 4
Oui et toujours rien.
Kevfou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2011, 17h47   #10
Membre actif
 
Femme
Apprenti/ Dev C++
Inscription : décembre 2009
Messages : 105
Détails du profil
Informations personnelles :
Sexe : Femme

Informations professionnelles :
Activité : Apprenti/ Dev C++
Secteur : Finance

Informations forums :
Inscription : décembre 2009
Messages : 105
Points : 175
Points : 175
Sous windows ou sous linux? Si c'est sous linux un petit chmod 777 du fichier enlevera au moins ce doute ^^
Malinaka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2011, 17h48   #11
Invité de passage
 
Homme Kévin
Étudiant
Inscription : octobre 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Kévin
Localisation : France, Vienne (Poitou Charente)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2011
Messages : 21
Points : 4
Points : 4
Windows 7.
Kevfou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2011, 17h59   #12
Invité de passage
 
Homme Kévin
Étudiant
Inscription : octobre 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Kévin
Localisation : France, Vienne (Poitou Charente)

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2011
Messages : 21
Points : 4
Points : 4
Trouver !
Et là vous avez le droit de m'engueuler...

Mon fichier .php et dans un dossier php qui est lui même dans mon dossier www.
log.txt est directement à la racine de www.


Comme quoi dvpl pendant 5h de suite sans pause, ça nous fait fait des erreurs idiotes et on se prend la tête pendant 1h...

Merci beaucoup à ceux qui m'ont aidé !!!
Kevfou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h16.


 
 
 
 
Partenaires

Hébergement Web