création d'un compteur assez spéciale...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : création d'un compteur assez spéciale...

re

par watted » 09 nov. 2005, 18:51

Génial ça marche voilà ce qu'il me fallait un GRAND merci à toi ! sujet résolu

par sadeq » 09 nov. 2005, 18:43

C'est fait, j'ai mis à jour mon ex-post

re

par watted » 09 nov. 2005, 18:30

Super sadeq, ton truc marche vraiment bien mais j'aimerais intégrer une redirection quand $cpt >=4 c'est quoi le code ? Merci

par sadeq » 09 nov. 2005, 18:17

Et qu'es ce t'en dis de mon oeuvre :
<?PHP 
//Vérif et init
if (!file_exists("compteur.txt")) {
	$fp=fopen("compteur.txt","w");
	fwrite($fp,0);  
	fclose($fp);
}

//Lecture de l'existant'
$fp=fopen("compteur.txt","r");
$cpt = fgets($fp);
fclose($fp);

//Correction 
if(empty($cpt) || !is_numeric($cpt) || $cpt <= 0) $cpt=1;

 //supplément: renvoi vers une autre page si >4
if ($cpt >= 4)  {
            maj (1); 
            echo "<script> window.location.href='sucette.php';</script>";
			exit();
}        
else 
   //incrémentation
   $cpt++;

//Mise à jour   
maj($cpt);


//Affichage
echo "Nombre de visites: $cpt";

//Mise à jour
function maj($cpt) {
$fp=fopen("compteur.txt","w");
fwrite($fp,$cpt);  
fclose($fp);
}
?>
Il vérifie, récupère, corrige, incrémente, et met à jour. :wink:
et en plus renvoi l'utilisateur vers une autre page si > à 4 visites

par watted » 09 nov. 2005, 17:29

je viens d'effectuer les modifs et tjs le même problèm... :tir2:

Re: re

par albat » 09 nov. 2005, 17:10

Normal. Il y a 2 erreurs dans ton code :
$fichier="compteur.txt";
$fp=fopen($fichier,"r+"); // supprime les guillemets autour de ta variable
$cpt=fgets($fp,255);
if($cpt==19) // supprime les guillemets autour de la valeur numérique
$cpt=1;
else 
$cpt++;
fseek($fp,0); 
fputs($fp,$cpt); 
fclose($fp);
echo "Nombre de visites:".$cpt; // sors les variables des chaines de caractères

re

par watted » 09 nov. 2005, 17:05

Voilà mon code :

<?PHP

$fichier="compteur.txt";
$fp=fopen("$fichier","r+");
$cpt=fgets($fp,255);
if($cpt=="19")
{
$cpt=1;}
else
$cpt++;
fseek($fp,0);
fputs($fp,$cpt);
fclose($fp);
echo "Nombre de visites: $cpt";
?>

re

par watted » 09 nov. 2005, 17:03

Merci à albat pour son code php ça fonctionne maintenant enfin presque...
J'ai pris 19 au lieu de 499 pr plus de facilités
Le compteur se remet à zéro au bout de 19 comme prévu mais dès que celui arrive à 2 au lieu de marquer "2" il marque "11" comme si les visites au lieu de s'ajouter 1+1 s'écrivait les unes à coté des autres : 11. Seulement après 11 tout est normal 12,13... c'est la passage du 1 au 2 qui est bizar. ???

par Ultiny » 08 nov. 2005, 20:30

Evite aussi de montrer ton compteur sur le site, car nombreux vont êtres ceux qui feront des refresh pour incrémenter le compteur volontairement.

par albat » 08 nov. 2005, 11:26

en PHP (sujet déplacé pour l'occasion)
$fichier = fopen("fichier.txt","r+");                                                     
$visites = fgets($fichier,255);
if ($visites==499)
   $visites=0
   else
   $visites++;
fseek($fichier,0);
fputs($fichier,$visites);
fclose($fichier);

Re: re

par Chamsou » 08 nov. 2005, 00:35

lol, quel fichier texte ?
:lol: je le voi mal stoquer dans une base de donnée MySQL un compteur géré via javascript !
mais bon "Impossible is nothing"
j'ai juste penser que son compteur serai stoquer dans un fichier .txt meme si sa ne semble pas etre précisé :oops:

Re: re

par DocType » 08 nov. 2005, 00:00

c'est vrai le code sera visible et si une personne regard le code puis surveille le fichier .txt :?
Mais bon on est sur un forum php alors pourquoi pas faire sa en php ? sa serai mieu non.
lol, quel fichier texte ?
Comme tu dis, PHP est là pour lui :wink:
J'invite donc l'auteur à reposter ce topic dans la section PHP, en demandant une solution PHP :wink:

Re: re

par Chamsou » 07 nov. 2005, 23:12

ce 500ème visiteur est redirigé vers une autre page.
:) donc c'est comme si il y avait un bonus spécial pour chaque visiteur qui auré la chance d'etre le cinq centième !
Note: côté javascript, ce n'est pas securisé !
c'est vrai le code sera visible et si une personne regard le code puis surveille le fichier .txt :? il pourra facilement tricher en allant sur la page que quand il voi que la valeur arrive a 499 ;) Bref pas tres discret tout sa !
Mais bon on est sur un forum php alors pourquoi pas faire sa en php ? sa serai mieu non.

re

par watted » 07 nov. 2005, 21:18

En fait je me suis mal expliqué, le 500 correspond au 500ème visiteur. Mon compteur est en fait un compteur de visites qui se remet à 0 au bout du 500ème visiteur et ce 500ème visiteur est redirigé vers une autre page.

re

par watted » 07 nov. 2005, 21:09

Euh... oui, c'est pas trop évident dis comme ça. Mais le settimout c'est pour une durée, pour mon compteur ce serait pluto une valeur qu'il me faudrait, en locurence 500 dans mon exemple