|
girl_bond 9
| Posté : 10-03-2004 16:52
Ibonjour,
j'ai réaliser ce script, donc, pourriez vous le vérifier parce qu'il comporte des erreurs, je vous remercie
l m'indique les erreurs suivantes :
<?php
{
if (file_exists($pf_fichierLog_loc))
{ $handler = fopen($pf_fichierLog_loc,"r+");
print "Le fichier $pf_fichierLog_loc existe";
}
else { print "Le fichier $pf_fichierLog_loc n'existe pas";
}
return $handler; => il y a une erreur sur la fonction if mais je ne sais pas si return $handler; est bien placé dans mon script
{
fclose( $pf_fichierLog_loc);
}
{
//Se mettre à la fin du fichier
$handler = fopen($pf_fichierLog_loc,"a+");
$texte =$nom_loc. "".$date_loc."\n";
fwrite($pf_fichierLog_loc,$texte);
fseek($pf_fichierLog_loc,0,SEEK_END); => à ce niveau il m'indique une erreur, je ne sais pas sur quelle fonction
}
//function afficheDatesFichierLog($pf_fichierLog_loc,$nom_loc)
{
//il va falloir parcourir tout le fichier texte en partant du debut
=> là je bloque je ne vois pas comment faire pour me placer au début du fichier ?
while(!feof($handler) {
$texte=fgets($handler,1024); => cela ne fonctionne pas pourquoi ?
$nom => $nom=$_POST["nom"];
$time_stamp=time();
}
{
if ($nom=$nom_loc)
echo "Nom timeStamp est ".$time_stamp
}
//si le nom ($nom) est égale au nom recherché ($nom_loc) alors afficher le time stamp associé , ici il faudrait que j'utilise if + strcmp mais je ne connais pas la syntaxe, j'ai bidouillé avec l'aide trouvé sur PHPdebutant mais cela ne fonctionne pas
//Quelles sont les dates de passage de l utilisateur
afficheDatesFichierLog($pf_fichierLog,$nom);
echo $$time_stamp . $nom;
if ($nom !=""){
ecritureFichierLog($handle,$nom,$date);
}
fermetureFich ierLog($handle);
echo "retour ";
j'ai eu quelques indications pour la suite de mon script par mon prof mais je bloque complètement, pouvez vous m'apporter votre aide, merci |  Profil
|
|
developpeur 24581
| Posté : 10-03-2004 17:04
{ <=== c'est quoi
if (file_exists($pf_fichierLog_loc))
{ $handler = fopen($pf_fichierLog_loc,"r+");
print "Le fichier $pf_fichierLog_loc existe";
}
else { print "Le fichier $pf_fichierLog_loc n'existe pas";
}
return $handler;
{ <=== c'est quoi
fclose( $pf_fichierLog_loc);
} <=== c'est quoi
la syntaxe php est pas top à mon sens
|  Profil E-mail www
|
|
girl_bond 9
| Posté : 10-03-2004 17:17
désolé mais je suis débutante en PHP :
cette partie du script consistait à dire si le fichier $pf_fichierLog_loc existe alors l'ouvrir autrement ne pas l'ouvrir et j'ai utilisé l'instruction return qui me permet de renvoyer une valeur (ici le file handler) |  Profil
|
|
developpeur 24581
| |
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 |  Profil
|
|
arnodu59 437
| Posté : 19-03-2004 23:17
Citation : "13-03-2004 09:22, girl_bond a écrit :
<?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+"); //
Et tu ne referme pas ?????
}
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);
}
funct ion afficheDatesFichierLog($pf_fichierLog_loc,$nom_loc) //
Tu n'ouvre pas ta fonction ???
//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
{ // Y fait koi lui ?????
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);
// Et ta fonction, tu ne la referme pas ???
//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);
< BR>
echo $time_stamp . $nom;
fermetureFichierLog($handler);
//fermeture du fichier log
fermetureFichierLog($pf_fichierLog);
echo "<a href=formEnr3.html>retour</a><br>";
?> |  Profil www
|
|
arnodu59 437
| Posté : 19-03-2004 23:19
Ce que je propose... maintenant, c'est pe être faux, mais a tester
<?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){
$ha ndler = 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);
}
funct ion 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);
}< br>
//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 "<a href=formEnr3.html>retour</a><br>";
?>
|  Profil www
|
|
girl_bond 9
| Posté : 19-03-2004 23:23
bonsoir,
je te remercie beaucoup pour ton aide je vais essayé ce que tu m'a donné et je te tiens au courant
encore merci |  Profil
|
|