Tout JavaScript.com - Scripts, Tutoriaux, Forums pour webmasters et développeurs
Retour à l'accueil
Rechercher :    

Les indispensables
Magic Menu
Les meilleurs scripts
Les forums
Les tutoriaux
La référence JavaScript
Les actus du net
Les petites annonces

Shopping
Mon livre : Guide complet Javascript - Nouvelle édition
Hébergement web

Compteur de visites
CountUs.fr - Combien de visiteurs actuellement sur votre site ? Avec CountUs, vous le saurez !

Les javascripts
Les plus vus
Les mieux notés
La boutique

Les tutoriaux
Introduction javascript
La structure javascript
Les limites de javascript
Les popups
Les formulaires
Le DHTML
Les cookies
Les frames
Les maths
Les chaînes de caractères
Les expressions régulières
Débugger un script
AJAX / XMLHTTPRequest
Introduction au PHP
Javascript et PHP
Traiter les données PHP
Intro base de données
Optimiser ses développements
Tous les tutoriaux

Les services
Les questions fréquentes
Les forums | Le chat
L'annuaire de sites
Le livre d'or
Contacts
A propos du site
La newsletter
 Inscription à la newsletter
HTML - Texte

Les partenaires
Beauté-test
Mémoclic
Glandouille.com
Nord vs Sud
Révélateur.com
ActuLab
Foorby, favoris en ligne
Une place pour toi
Cadeau gratuit
Config Mac
Pifex











 

3 - Le cas du script "Notation par curseur et smileys"

Pour utiliser le script notation par curseur, nous allons choisir la méthode du fichier texte qui fonctionne même si aucune base de données n'est installée.
Le principe est de créer un fichier texte de 2 lignes qui contient :
sur la première ligne le cumul de toutes les notes attribuées
sur la deuxième ligne le nombre total de notes
La note moyenne est obtenue par la division entre le cumul des notes et le nombre total de notes

1ère etape : Lire le fichier texte
2ème etape : Mettre à jour le cumul des notes et le nombre de notes et enregistrer le fichier

Explications du script :
Il faut d'abord définir le nom du fichier contenant les données
$nomfichier="note.txt";

Il faut vérifier la présence du fichier. Le fichier peut être absent lors de la première notation.
if (!file_exists($nomfichier)) {
  $cumul=0;
  $nbnotes=0;
}


Pour ouvrir le fichier en lecture (option "r" pour read)
$file=fopen($nomfichier,"r");

$file contient un pointeur sur le fichier
On lit les infos avec la fonction fread()
$cumul=fgets($file,100);
$nbnotes=fgets($file,100);

On referme le fichier
fclose($file);

On récupère la note donnée par le visiteur qui est contenue dans le champ caché "lanote"
$note=$HTTP_POST_VARS["lanote"];

On met à jour les données
$cumul=$cumul + $note;
$nbnotes++;
$moyenne=number_format($cumul/$nbnotes,1);

On ré-ouvre en écriture (option "w" pour write) pour écraser les données par les nouvelles notes obtenues
$file=fopen($nomfichier,"w");
fwrite($file,$cumul);
fwrite($file,$nbnotes);

On referme le fichier
fclose($file);

REM :
Il existe toujours plusieurs solutions pour un objectif. Ceci est une solution parmi d'autres.
Elle a l'avantage d'être simple, efficace et utilisable, même sans connaître parfaitement le PHP.
Je vous recommande quand même la lecture du tutorial Introduction au PHP


Le script complet :
<?php
// Nom du fichier contenant les données de la notation
$nomfichier="notation.txt";

if (!file_exists($nomfichier)) {
  // Première utilisation du script de notation
  $cumul=0;
  $nbnotes=0;
} else {
  $file=fopen($nomfichier,"r");
  // $file contient un pointeur sur le fichier

  // Lecture des lignes du fichier
  $cumul=fgets($file,100);
  $nbnotes=fgets($file,100);

  // On referme le fichier
  fclose($file);
}
// On récupère la note donnée par le visiteur qui est contenue dans le champ caché "lanote"
$note=$HTTP_POST_VARS["lanote"];

// On met à jour les données
$cumul=$cumul + $note;
$nbnotes++;

// Calcul de la note
$moyenne=number_format($cumul/$nbnotes,1);

// On ré-ouvre en écriture (option "w" pour write) pour écraser les données par la nouvelle note obtenue
$file=fopen($nomfichier,"w");
fwrite($file,$cumul);
fwrite($file,"\n");
fwrite($file,$nbnotes);

// On referme le fichier
fclose($file);
?>


Page précédente : 2 - Traiter les données en PHP  

| © Tout JavaScript.com 1999-2005 | Scripts | Tutoriaux | Forums | Référence | Magic Menu V2 | Mailociraptor | Petites annonces informatiques |


Edité par DevTribu sarl  Google
Serveur dédié : Page générée en 1 msec
04/07/2008 02:40:40 - OB = off