Gestion de Contenu, de Communauté et de groupes de travail collaboratif - Open Source, français, sécurisé, stable et performant

  • MODULES

    Pour étendre les nombreuses fonctionnalités disponibles de base - modules.npds.org est à votre disposition.

    Des modules complémentaires, une communauté de développeurs active, des forums pour vos questions ... NPDS  est aussi une plateforme de développement !
  • STYLES

    Vous cherchez des thèmes graphiques pour votre portail ou votre communauté : styles.npds.org est à votre disposition.

    Des thèmes du plus simple au plus sophistiqué. Des thèmes facilement modifiables et toujours en Open-Source - Laissez simplement parler votre imagination !
  • BIBLES

    La documentation indispensable pour personnaliser et exploiter toute la puissante de NPDS  est à votre disposition sur bible.npds.org.

    Vous pouvez participer à l'effort de documentation - rien de plus simple : contactez un membre de la Team de développement et nous vous ouvrirons un compte sur le Wiki !
Devenir membre    |    Identifiant : Mot de Passe : -
Au delà de la gestion de contenu 'classique', NPDS met en oeuvre un ensemble de fonctions spécifiquement dédiées à la gestion de Communauté et de groupes de travail collaboratif.
Il s'agit d'un Content & Community Management System (CCMS) robuste, sécurisé, complet, performant et parlant vraiment français.

Gérez votre Communauté d'utilisateurs, vos groupes de travail collaboratif, publiez, gérez et organisez votre contenu grâce aux puissants outils disponibles de base.
  • Multi langues (Français, Anglais, Allemand, Espagnol, Chinois)
  • Respect des standards : UTF8, XHTML, CSS, ...
  • Système de blocs avancés
  • Installation et administration complète et centralisée
  • Editeur HTML intégré
  • Gestionnaire de fichier en ligne
  • Gestion des groupes de membres
  • Ecriture collaborative de documents (PAD)
  • Forums évolués
  • Mini-sites (pour les membres et les groupes de travail)
  • Chat temp réel
  • Système de News et de rubriques complet (édition, révision, publication)
  • ...
Gratuit et libre (Open-Source), développé en PHP, NPDS est personnalisable grâce à de nombreux thèmes et modules et ne requiert que quelques compétences de base.
NPDS Workplace - groupe de travail collaboratif
 NPDS WorkSpace - tous l'univers du travail collaboratif.
Modéré par : developpeur jpb Jireck 
Index du Forum » » Le coin des codeurs » » PHP - Pb script
AuteurPHP - Pb script
girl_bond
9  

girl_bond
  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       
 

developpeur
  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  

girl_bond
  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       
 

developpeur
  Posté : 12-03-2004 09:30

met ton script complet SVP

  Profil  E-mail  www  
girl_bond
9  

girl_bond
  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      

arnodu59
  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      

arnodu59
  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  

girl_bond
  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  
Sauter à :

Temps : 0.0245 seconde(s)