Votre question

compte a rebour en clic par page

Tags :
  • Adresse IP
  • Programmation
Dernière réponse : dans Programmation
3 Janvier 2007 20:21:32

bonsoir je voudrai savoir comment faire pour par exemple au 50 eme clic sur un lien ca l´envoi vers une autre page que l´autre que ca mettai entre le premier et le 49eme clic
pouvez vous m´aidez svp
merci

Autres pages sur : compte rebour clic page

a c 145 L Programmation
3 Janvier 2007 21:13:35

2 possibilitées:
- passer par un cookie que tu (in/dé)crémente à chaque page, à la 50ème tu rediriges ou tu veux
- enregistrer en base l'ip et le nombre de pages (incrémenté à chaque page) et à la 50ème...
3 Janvier 2007 21:26:40

en php avec un simple fichier pour faire compteur et logguer l'ip
Contenus similaires
3 Janvier 2007 21:33:32

merci de vos reponses
mais je ne comprends pas grand chose vous n'aurez des tutos qui expliquent comment creer ce code
merci d'avance
3 Janvier 2007 21:46:54

1-récupération de l'ip du visiteur
$ip = $_SERVER['REMOTE_ADDR'];
2-création du fichier
$fichier = "dossier/fichier.txt";
3-ouverture du fichier en R+W
$fichierouvert = fopen($fichier,"r+");
4-lecture de la valeur courante
fgets($fichierouvert, 4096);
5-mise à jour du compteur
$texte=$texte+1;
6-écriture de la nouvelle valeur
fwrite($fichierouvert,$texte);
7-fermeture du fichier
fclose($fichierouvert);

sans oublier la gestion d'erreur (remise à zero quand le visiteur quitte le site ou au bout d'un certain temps, test de l'existence du fichier...)
3 Janvier 2007 21:52:53

ah oui mais si j'ai bien compris la c'est au bout du 50 eme clic de la meme personne, moi ce que je voudrais c'est que ca soit au 50 eme clic mais pas forcement de la meme personne
3 Janvier 2007 21:55:41

dans ce cas zap la partie avec les ip

sinon pour le script, c'est du php, donc à mettre dans une page php
qui plus est, le script doit être présent sur toutes les pages concernées par ton compteur
3 Janvier 2007 22:00:08

dans le point 4 ca veut dire quoi 4096; et je le mets ou pour que ca l'ouvre au bout de la CINQUANTIEME fois stp
3 Janvier 2007 22:07:39

c'est la longueur en octets à lire
depuis php 4.2 c'est optionnel (il prend 1024 par défaut je crois)
donc c'est juste pour un besoin de compatibilité
7 octets c'est suffisant dans ton cas en théorie
3 Janvier 2007 22:28:47

ok mais je sais pas si ca marche ca avec l'hebergeur free car je crois qu'il ne permette pas de modifier un fichier non?
3 Janvier 2007 22:29:48

je ne sais pas, par contre ils acceptent le php
sinon, passe par une base de données ou une variable globale
3 Janvier 2007 22:35:13

ou alors y a pas un moyen avec un compteur de clic classique et apres on met
if "compteur"=50 then page2.php
else pagedorigine.php
3 Janvier 2007 22:57:27

si
mais dans ce cas tu vas être dépendant de ton compteur
et pour le 100 tu vas rajouter la condition ?
puis le 150eme... ?
3 Janvier 2007 23:01:39

oui d'accord mais ya pas moyen comme suivant
if "compteur"=50 then page2.php and "compteur"=0
else pagedorigine.php
3 Janvier 2007 23:04:28

ba vi, mais dans ce cas ton compteur perd son rôle premier :) 

en fait ce que je te donne c'est juste un compteur minimaliste, mais c'est la même chose

donc oui, tu peux utiliser un truc tout fais (un compteur comme il y en a plein), mais tu ne vas pas apprendre :p 
3 Janvier 2007 23:12:42

oui d'accord que je vais pas apprendre mais je ne vois pas comment faire autrement avec free qui refuse la modification de fichier
a c 232 L Programmation
3 Janvier 2007 23:13:53

mais le compteur, il faut bien qu'il soit stocké quelque part...
Donc soit c'est dans un fichier comme expliqué plus haut, soit dans une base de données, tu ne peux pas incrémenter une variable pour plusieurs personnes si elle n'est pas stockée.
3 Janvier 2007 23:14:47

d'où les variables globales...
3 Janvier 2007 23:20:06

et un compteur de clic ca commence forcement a 0 ou on peeut le faire commence a un autre chiffre??
3 Janvier 2007 23:28:05

il suffi de l'initialiser
mais ça dépend des compteurs
3 Janvier 2007 23:29:52

car si je peux le faire commencer a 50 par exemple apres au lieu de mettre +1 par clic on met -1 non?
3 Janvier 2007 23:53:05

oui, mais ça ne change rien :) 
3 Janvier 2007 23:56:21

tu pourrai m'apprendre a faire ca en html stp:
if "compteur"=50 then page2.php and "compteur"=0
else pagedorigine.php
car je suis la pour apprendre
4 Janvier 2007 00:10:13

pas possible en html
en javascript ça ne marchera pas pour ce que tu veux faire

donc il te faut un langage serveur (php, asp, perl, cgi...)

<?php
if ($compteur = 50)
{
$page = "page_d_origine";
$compteur = 0;
}
else
{
$compteur=$compteur + 1;
}
echo "<a href=".$page.".php>Cliquez ici</a>";
?>

je précise que je ne suis pas du tout dev php, j'ai juste quelques notions et un bon navigateur web

la dessus il faut rajouter un moyen de stocker la variable compteur dans un fichier ou dans une base sql (rien de difficile, mysql_query suivi de mysql_fetch_array)
4 Janvier 2007 00:16:29

merci mais je ne sais pas du tout comment faire pour "stocker la variable compteur dans un fichier ou dans une base sql (rien de difficile, mysql_query suivi de mysql_fetch_array)" car je ne connais pas du tout mysql
4 Janvier 2007 00:26:44

je vais pas tout te faire non plus lol

<?php
Function connect()
{
mysql_connect("adresse_de_la_base", "login", "password");
mysql_select_db("nom_de_la_base");
}
Function deconnect()
{
mysql_close();
}
connect();
$requete = mysql_query("select compteur from table_compteur");
$compteur = mysql_fetch_array($requete);
?>

ensuite il faut mettre à jour le champs de la table à chaque clique sur le lien (update)

http://www.siteduzero.com/tuto-3-140-1-lire-des-donnees...
4 Janvier 2007 00:40:34

ok merci de ton aide
4 Janvier 2007 18:45:54

pouvez vos m'aidez encore un petit peu svp

voila mon code pour afficher le nombre de visite:

<?
$fich="cpt.txt"; /* nom du fichier compteur */
$fp=fopen("$fich","r+"); /* Ouverture du fichier en lecture/ecriture */
$cpt=fgets($fp,10); /* lecteur des 10 premiers caractères */
$cpt++; /* Incrémente le compteur de 1 */
fseek($fp,0); /* Déplacment du pointeur au début du fichier */
fputs($fp,$cpt); /* Ecriture de la nouvelle valeur du compteur */
fclose($fp);
echo $cpt;
?>


ceci dans un fichier php3
et j'ai un fichier cpt.txt en chmod 777

pourrais tu m'expliquais comment incorporer ton code stp

<?php
if ($compteur = 50)
{
$page = "page_d_origine";
$compteur = 0;
}
else
{
$compteur=$compteur + 1;
}
echo "<a href=".$page.".php>Cliquez ici</a>";
?>

le code que tu m'as donné c'est par clic sur lien donc si j'ai bien compris pour le faire avec l'affichage de la page et non le clic par lien ca donnerai ce code:

<?php
if ($compteur = 50)
{
$page = "page_d_origine";
$compteur = 0;
}
else
{
$compteur=$compteur + 1;
}
$page = "page_d_origine";
?>

est ce ca, pouvez me re-aidez svp
merci
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS