girl_bond 9
| Posté : 13-03-2004 09:22
bonjour,
je vous transmet mon script complet + quelques explications :
Bonjour,
Le but de cet exercice est le suivant : un utilisateur entre son nom dans un formulaire et valide
ce nom est récupéré par un script php qui relève la date et écrit dans un fichier texte (appelé fichier log) le nom et la date (sous la forme d'un timeStamp
le script affiche ensuite toutes les dates associées au nom, contenues dans le fichier log
ex : soit le fichier log suivant, au timStamp :
vincent 1078391185
marc 1078391190
paul 1078391185
supposons que l'utilisateur Vincent valide le formulaire au timeStamp 1078391195
alors le script php appelé par le formulaire relève la date (1078391195) et ajoute au fichier log la ligne contenant "Vincent"et1078391195
le fichier log a donc maintenant pour forme
vincent 1078391185
marc 1078391190
paul 1078391185
vincent 1078391195
le script PHP repère alors dans le fichier log toutes les apparitions de vincent, relève les timeStamp associées et les converties en date lisible, ex
Vincent est venu le(s)
04/03/2004 à 10h06min25sec
04/03/2004 à 10h06min25sec
voici le script que j'ai trouvé, il m'indique plusieurs erreurs d'accolades à la lig 19 , 35 et 46 et le problème que j'ai c'est que rien ne s'affiche dans mon fichier log alors que je devrais récupèrer le nom et le timeStamp il ne m'indique pourtant pas d'autre erreurs bizarre non ?? pouvez vous m'aidez à y voir plus claire parce que cela fait 3 jours que je planche dessus, merci de votre aide
<?php
//Les fonctions utiles
function ouvertureFichierLog($pf_fichierLog_loc)
{
if (file_exists($pf_fichierLog_loc)) // si fichier Log existe alors l'ouvrir
{ $pf_fichierLog_loc= fopen(FichierLog,"r+");
}
function fermetureFichierLog($pf_fichierLog_loc){
fclose( $pf_fichierLog_loc);
}
function ecritureFichierLog($pf_fichierLog_loc,$nom_loc,$date_loc){
$ handler = fopen($pf_fichierLog_loc,"a+");//Se mettre à la fin du fichier
fseek($handler,0,SEEK_END);
$texte =$nom_loc. "".$date_loc."\n";//formater la ligne que l on va inserer
fwrite($handler,$texte);
}
function afficheDatesFichierLog($pf_fichierLog_loc,$nom_loc)
//il va falloir parcourir tout le fichier texte en partant du debut
//Se placer au début du fichier
while(!feof($handler) { // récupérer la ligne avec un fgets
$texte=fgets($handler,1024);
fseek($handler,0,SEEK_END); // mettre le nom dans $nom
$time_stamp=time(); // et le time stamp dans $time_stamp
}
//si le nom ($nom) est égale au nom recherché ($nom_loc) alors afficher le time stamp associé
//utiliser la combinaison if + strcmp
{
if (strcm($nom==$nom_loc)
echo $nom_loc. "Nom timeStamp est ".$time_stamp;
}
//Début du code
//je déclare une variable
$pf_fichierLog; //c'est un file handler sur le fichier de log...
//il va servir à toutes nos fonctions qui manipulent ce fichier
/ouverture du fichier log
$handler = ouvertureFichierLog($pf_fichierLog);
//préparation des données
//***********
$date = time();
$nom = $_POST["nom"];
//**********
///////////////
//ecriture dans le fichier
if($nom != ""){
ecritureFichierLog($handler,$nom,$date);
}
//Quelles sont les dates de passage de l utilisateur
afficheDatesFichierLog($pf_fichierLog,$nom);
echo $time_stamp . $nom;
fermetureFichierLog($handler);
//fermeture du fichier log
fermetureFichierLog($pf_fichierLog);
echo "retour ";
?>
Le prolème est qu'il ne m'affiche rien dans mon fichierLOg qui est un fichier.txt alors que je devrais récupérer le nom insérer dans le formulaire et la date timeStamp, donc pouvez vous vérifier merci |