Post by Olivier MiakinenPost by jpBonjour, en php4 $a++ fonctionnait et avec php7 je suis obligé de faire
$a = $a + 1. Quelqu'un sait pourquoi?
La variable s'appelle $a ou $variable ou encore autre chose ? Ce n'est
pas le même problème qu'avec count qui est devenu un mot-clé ?
Pour la fonction que je nommais count(), j'ai compris comment je me suis
trompé. J'avais un script assez ancien qui utilisait une fonction vues().
En voulant reprendre ce script pour autre chose assez similaire, je l'ai
renommée count(). Je ne savais pas que c'était un mot réservé. Du coup ça
ne marchait plus et je ne comprenais pas pourquoi...
Dans le cas présent, c'est toujours le même script et la variable
s'appelle $counter. La post-incrémentation ne fonctionne pas. J'ai mis un
moment avant de savoir d'où venait l'erreur mais j'ai résolu le problème
en faisant $counter = $counter + 1;
Voici le petit script:
<?php
$counter = 0;
$ip = getenv("REMOTE_ADDR");
function counting($counter) {
$fp = fopen('download_counter.txt', 'w');
if ($fp) {
fwrite($fp, $counter);
fclose($fp);
}
}
$fp = fopen('download_counter.txt', 'r');
if ($fp) {
$counter = fgets($fp, 20);
fclose($fp);
if ( ($ip != 'MonIP') && ($ip != '127.0.0.1') ) {
$counter = $counter + 1;//C'est ici que $counter++ ne fonctionne pas...
counting($counter);
}
/*Affiche le compteur seulement quand c'est le webmaster qui se connecte.
=> décommenter la ligne A et mettre en commentaire la ligne B*/
else { echo $counter . ' téléchargements au moins.'; }//Ligne A
/*Affiche le compteur tout le temps => mettre en commentaire la ligne A
et décommenter la ligne B pour que tout le monde voit le compteur.*/
//echo $counter . ' téléchargements environ.';//Ligne B
}
else {
$counter++;
counting($counter);
echo $counter;
}
?>
Merci à tous pour vos réponses.