Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
Identifiez-vous Inscrivez-vous Accueil du forum Aide sur le forum

pagexl.com pour la création gratuite et facile de sites "one page" (page unique)

IMPORTANT: Avant de poster un message sur le forum n'oubliez pas :
1. d'effectuer une recherche sur le forum ainsi que dans l'aide en ligne TOWeb
2. de consulter les tutoriels vidéo sur YouTube et les dernières informations du blog de TOWeb
3. de consulter les tutoriels de Frangin62
Forum TOWeb|-TOWeb| |-Scripts & astuces pour votre site| | |-[RESOLU] Script PHP qui ne fonctionne pas... « sujet précédent | | sujet suivant »
Pages: [1] Bas de page Imprimer
Auteur Fil de discussion: [RESOLU] Script PHP qui ne fonctionne pas...  (Lu 188 fois)
jphoarau
Newbie
*

Nombre de "j'aime" : 0
Messages: 13


« le: 05 Décembre 2019 à 11h18 »

Bonjour,

J'essaie de faire un compteur de téléchargements en php d'un fichier. Pour l'instant j'ai repris un ancien script que j'avais fait qui date de la version 4 de toweb et qui fonctionnait bien. Or, quand je rentre ce script dans un champs html, j'ai l'impression qu'il n'est pas reconnu par toweb car la coloration syntaxique n'apparait pas. J'ai la version 6.2.7.707 et voici mon script:

Code:
<?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($fp20);
  
fclose($fp);
  if ( (
$ip != '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;
 } 
?>


Je précise que j'ai déclaré le fichier additionel download_counter.txt. j'ai aussi nommé la page d'accueil qui contient le script, accueil.php. Je précise aussi que ce script, tel qu'il est, ne fait que compter le nombre de vues de la page. Je compte le modifier par la suite, mais normalement ça devrait marcher tel quel...

Si quelqu'un pouvait me dire si ça vient de mon script ou de toweb, ce serait sympa. Merci d'avance.
Journalisée
frangin62
Hero Member
*****

Nombre de "j'aime" : 118
Messages: 2411



WWW
« Répondre #1 le: 05 Décembre 2019 à 12h00 »

Bonjour,
As-tu essayé au moins, j'ai le même sur la V8 que je traine depuis la V6.
Je ne sais pas ce qu'il y avait comme coloration syntaxique en V4, mais maintenant, il n"y en a pas bezef, à part quand il y a quelque chose d'inconnu ou une erreur.
Profites-en pour retirer les @ devant fopen, il ne sont plus d'actualité.

Cdlt
frangin62
Journalisée

jphoarau
Newbie
*

Nombre de "j'aime" : 0
Messages: 13


« Répondre #2 le: 05 Décembre 2019 à 22h16 »

Je pense que c'est un problème relatif à php. Je vais chercher dans cette direction.

Merci. A+
Journalisée
frangin62
Hero Member
*****

Nombre de "j'aime" : 118
Messages: 2411



WWW
« Répondre #3 le: 05 Décembre 2019 à 22h40 »

tu l'as publié ou pas ?

Voilà celui que j'utilise, il y a des petites variantes mais de toute façon, il n'y a pas 50 façons de compter
Code:
<?php
$fichier 
'compteur.txt';
if(
file_exists($fichier))
{
$compteur_f fopen($fichier,'r+');
$compteur fgets($compteur_f);
}
else
{
$compteur_f fopen($fichier,'a');
$compteur 0;
}
fclose($compteur_f);

if(!
file_exists('iplog.txt')) 
{
$iplog fopen('iplog.txt',"x+");
}
else
{
$iplog fopen('iplog.txt',"a+");
}

$iplog2 file_get_contents("iplog.txt");
// On incrémente de 1 le compteur :
if( !preg_match("#".$_SERVER['REMOTE_ADDR']."#"$iplog2))  //si l'ip n'est pas dans le fichier texte :
{
     
$compteur++;   // on incrémente
    
fwrite($iplog$_SERVER['REMOTE_ADDR']); // et on ajoute l'ip au fichier texte
}
    
fclose($iplog);

// On ecrit dans le fichier :
$fp2 fopen($fichier,"w");
fwrite($fp2$compteur);
fclose($fp2);
$monip $_SERVER['REMOTE_ADDR'];
if(
$monip == "une.ip" || $monip == "une.seconde.ip") {
echo 
'<strong>'.$compteur.'</strong> visites.';
}

// enlevez les '//' de la ligne suivante si vous voulez afficher le compteur;
// echo '<strong>'.$compteur.'</strong> visites.';
?>
Journalisée

jphoarau
Newbie
*

Nombre de "j'aime" : 0
Messages: 13


« Répondre #4 le: 06 Décembre 2019 à 11h12 »

Merci pour la réponse. Oui je l'avais publié et ça m'affichait une page blanche. Je l'ai donc enlevé. Je vais essayer le tien et je te dirai si ça a marché.

Merci. A+
Journalisée
jphoarau
Newbie
*

Nombre de "j'aime" : 0
Messages: 13


« Répondre #5 le: 06 Décembre 2019 à 12h14 »

C'est bon! Ton script fonctionne. Ça venait bien de mon script... Un grand merci.
Journalisée
frangin62
Hero Member
*****

Nombre de "j'aime" : 118
Messages: 2411



WWW
« Répondre #6 le: 06 Décembre 2019 à 13h52 »

Ok, comme dit, à part les  " @ "  devant fopen, je n'y avait rien vu d'anormal.
Tel qu'il est, mon script ne compte qu'une seule fois le même visiteur, si tu veux tout compter, tu supprime toute la partie avec les 'iplog' et 'iplog2'
J'avais fait un topo ici
http://www.lauyan.com/forum-fr/index.php?topic=7710.0
Cdlt
frangin62
Journalisée

jphoarau
Newbie
*

Nombre de "j'aime" : 0
Messages: 13


« Répondre #7 le: 06 Décembre 2019 à 14h05 »

J'ai trouvé l'erreur. J'utilisais la fonction count(), or 'count' est un mot réservé du langage. Ça fonctionnait bien avant... Je ne sais pas si ce sera utile à quelqu'un mais je le signale quand-même...
Journalisée
frangin62
Hero Member
*****

Nombre de "j'aime" : 118
Messages: 2411



WWW
« Répondre #8 le: 06 Décembre 2019 à 14h33 »

En effet maintenant que tu le dis  Souriant C'est parfois tellement évident qu'on ne le voit pas tout de suite  Roulement des yeux
Journalisée

Pages: [1] Haut de page Imprimer 
« sujet précédent | | sujet suivant »
Aller à:  


Cliquez ici pour vous abonner au flux RSS du forum  -  
Powered by SMF 1.1.18 | SMF © 2006-2009, Simple Machines