Auteur Sujet: Problème Php  (Lu 692 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Shinryu

  • Débutant
  • *
  • Messages: 2
Problème Php
« le: 15 août 2004 à 16:57:49 »
J'ai un problème dans mon script, le compteur s'incrémente 2 fois par affichage et les requêtes SQL s'executent 2 fois. J'ai tout d'abord pensé que c'était un problème avec Smarty et sa fonction display(), mais j'ai ensuite essayé en changeant de moteur de template, et je me suis rendu compte que le problème persistait.

Voilà le code du fichier index.php, j'ai enlevé les autres balises pour plus de lisibilité:
$template = new Smarty;

$template -> assign("visiteur", compteur());

$template -> display("index.tpl");

Voilà le code de la fonction compteur():
function compteur() {
if(file_exists("compteur.txt")) {
  @$fichier = fopen("compteur.txt", "r");
} else {
  $fichier = fopen("compteur.txt", "w+");
  fputs($fichier, "0");
}
$compteur = fgets($fichier);
fclose($fichier);
$compteur++;
$fichier = fopen("compteur.txt", "w");
fputs($fichier, $compteur);
fclose($fichier);
return $compteur;
}

J'ai mis ici, que le problème avec le compteur, mais c'est également le cas pour mes requêtes SQL.

Comme je l'ai dit plus haut, j'ai changé de morteur de template, et voilà le code: (Je sais, c'est pas super comme moteur, mais bon, je débute. :P)
$fichier = fopen("templates/index.tpl", "r");
$html = fread($fichier, filesize("templates/index.tpl"));
fclose($fichier);

$html = ereg_replace("{visiteur}", compteur(), $html);

echo $html;

Si quelqu'un sait m'aider, ça me sauverait, parce que là, je bloque totalement.  :o

Merci d'avance!