Je suis en train de remettre un script que j'avais fait il y a plusieurs
années. Est-ce que quelqu'un peut me dire où se trouve l'erreur dans ce
script? Merci d'avance.
<?php
$counter = 0;
$ip = getenv("REMOTE_ADDR");
function count($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 !== 'xx.xx.xx.xx'/*Mon ip*/) && ($ip !== '127.0.0.1') ) {
$counter++;
count($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.'; }//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.';//Ligne B
}
else {
$counter++;
count($counter);
echo $counter;
}
?>
C'est un script qui compte le nombre de vues de la page dans laquelle il
se trouve. Avant ça marchait, maintenant ça ne marche plus...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Didier
Le 05/12/2019 à 22:11, jp a écrit :
Bonjour, Je suis en train de remettre un script que j'avais fait il y a plusieurs années. Est-ce que quelqu'un peut me dire où se trouve l'erreur dans ce script? Merci d'avance. <?php $counter = 0; $ip = getenv("REMOTE_ADDR"); function count($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 !== 'xx.xx.xx.xx'/*Mon ip*/) && ($ip !== '127.0.0.1') ) { $counter++; count($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.'; }//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.';//Ligne B } else { $counter++; count($counter); echo $counter; } ?> C'est un script qui compte le nombre de vues de la page dans laquelle il se trouve. Avant ça marchait, maintenant ça ne marche plus...
Je ne suis qu'un piètre amateur en PHP, mais pourquoi utiliser un mot réservé du langage ('count') pour ta fonction ? Peut-être que 'count' n'en était pas un il y a qq années ? Didier.
Le 05/12/2019 à 22:11, jp a écrit :
Bonjour,
Je suis en train de remettre un script que j'avais fait il y a plusieurs
années. Est-ce que quelqu'un peut me dire où se trouve l'erreur dans ce
script? Merci d'avance.
<?php
$counter = 0;
$ip = getenv("REMOTE_ADDR");
function count($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 !== 'xx.xx.xx.xx'/*Mon ip*/) && ($ip !== '127.0.0.1') ) {
$counter++;
count($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.'; }//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.';//Ligne B
}
else {
$counter++;
count($counter);
echo $counter;
}
?>
C'est un script qui compte le nombre de vues de la page dans laquelle il
se trouve. Avant ça marchait, maintenant ça ne marche plus...
Je ne suis qu'un piètre amateur en PHP, mais pourquoi utiliser un mot
réservé du langage ('count') pour ta fonction ? Peut-être que 'count'
n'en était pas un il y a qq années ?
Didier.
Bonjour, Je suis en train de remettre un script que j'avais fait il y a plusieurs années. Est-ce que quelqu'un peut me dire où se trouve l'erreur dans ce script? Merci d'avance. <?php $counter = 0; $ip = getenv("REMOTE_ADDR"); function count($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 !== 'xx.xx.xx.xx'/*Mon ip*/) && ($ip !== '127.0.0.1') ) { $counter++; count($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.'; }//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.';//Ligne B } else { $counter++; count($counter); echo $counter; } ?> C'est un script qui compte le nombre de vues de la page dans laquelle il se trouve. Avant ça marchait, maintenant ça ne marche plus...
Je ne suis qu'un piètre amateur en PHP, mais pourquoi utiliser un mot réservé du langage ('count') pour ta fonction ? Peut-être que 'count' n'en était pas un il y a qq années ? Didier.
jp
Le Thu, 05 Dec 2019 23:20:43 +0100, Didier a écrit :
C'est un script qui compte le nombre de vues de la page dans laquelle il se trouve. Avant ça marchait, maintenant ça ne marche plus...
Je ne suis qu'un piètre amateur en PHP, mais pourquoi utiliser un mot réservé du langage ('count') pour ta fonction ? Peut-être que 'count' n'en était pas un il y a qq années ? Didier.
Effectivement. Je ne sais pas si c'est un mot qui a été rajouté au langage, mais avant ça marchait... Je vais essayer en changeant le nom de la fonction. Ça risque de fonctionner. Merci pour ta remarque.
Le Thu, 05 Dec 2019 23:20:43 +0100, Didier a écrit :
C'est un script qui compte le nombre de vues de la page dans laquelle
il se trouve. Avant ça marchait, maintenant ça ne marche plus...
Je ne suis qu'un piètre amateur en PHP, mais pourquoi utiliser un mot
réservé du langage ('count') pour ta fonction ? Peut-être que 'count'
n'en était pas un il y a qq années ?
Didier.
Effectivement. Je ne sais pas si c'est un mot qui a été rajouté au
langage, mais avant ça marchait... Je vais essayer en changeant le nom de
la fonction. Ça risque de fonctionner. Merci pour ta remarque.
Le Thu, 05 Dec 2019 23:20:43 +0100, Didier a écrit :
C'est un script qui compte le nombre de vues de la page dans laquelle il se trouve. Avant ça marchait, maintenant ça ne marche plus...
Je ne suis qu'un piètre amateur en PHP, mais pourquoi utiliser un mot réservé du langage ('count') pour ta fonction ? Peut-être que 'count' n'en était pas un il y a qq années ? Didier.
Effectivement. Je ne sais pas si c'est un mot qui a été rajouté au langage, mais avant ça marchait... Je vais essayer en changeant le nom de la fonction. Ça risque de fonctionner. Merci pour ta remarque.
Lcd5
Le 05/12/2019 à 23:20, Didier a écrit :
$counter = fgets($fp, 20);
fgets renvoie un string donc difficile de faire $counter++ ensuite ...
Le 05/12/2019 à 23:20, Didier a écrit :
$counter = fgets($fp, 20);
fgets renvoie un string donc difficile de faire $counter++ ensuite ...
fgets renvoie un string donc difficile de faire $counter++ ensuite ...
jp
Le Thu, 23 Apr 2020 20:57:55 +0200, Lcd5 a écrit :
Le 05/12/2019 à 23:20, Didier a écrit :
$counter = fgets($fp, 20);
fgets renvoie un string donc difficile de faire $counter++ ensuite ...
J'ai déjà soumis ce problème à ce groupe et la solution est qu'il faut transtyper. $counter = (int) fgets($fp, 20); Et après on peut faire $counter++; J'espère que ça aidera comme ça m'a aidé. Je précise que je ne suis pas spécialiste. A+ JP
Le Thu, 23 Apr 2020 20:57:55 +0200, Lcd5 a écrit :
Le 05/12/2019 à 23:20, Didier a écrit :
$counter = fgets($fp, 20);
fgets renvoie un string donc difficile de faire $counter++ ensuite ...
J'ai déjà soumis ce problème à ce groupe et la solution est qu'il faut
transtyper. $counter = (int) fgets($fp, 20); Et après on peut faire
$counter++;
J'espère que ça aidera comme ça m'a aidé. Je précise que je ne suis pas
spécialiste.
Le Thu, 23 Apr 2020 20:57:55 +0200, Lcd5 a écrit :
Le 05/12/2019 à 23:20, Didier a écrit :
$counter = fgets($fp, 20);
fgets renvoie un string donc difficile de faire $counter++ ensuite ...
J'ai déjà soumis ce problème à ce groupe et la solution est qu'il faut transtyper. $counter = (int) fgets($fp, 20); Et après on peut faire $counter++; J'espère que ça aidera comme ça m'a aidé. Je précise que je ne suis pas spécialiste. A+ JP