Tom's Guide > Forum > Programmation > compte a rebour en clic par page

compte a rebour en clic par page

Forum Programmation : compte a rebour en clic par page

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

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


Message édité par comando69 le 05-01-2007 à 10:55:42
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

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...

------------------------------ Réseau IRC Francophone | g33k-zone
Défiez-moi donc !
Répondre à crazycat@idn

en php avec un simple fichier pour faire compteur et logguer l'ip

Répondre à maith

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

Répondre à comando69

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...)

Répondre à maith

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

Répondre à comando69

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

Répondre à maith

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


Message édité par comando69 le 03-01-2007 à 22:00:32
Répondre à comando69

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

Répondre à maith

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?

Répondre à comando69

je ne sais pas, par contre ils acceptent le php
sinon, passe par une base de données ou une variable globale

Répondre à maith

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

Répondre à comando69

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... ?

Répondre à maith

oui d'accord mais ya pas moyen comme suivant
if "compteur"=50 then page2.php and "compteur"=0
else pagedorigine.php

Répondre à comando69

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

Répondre à maith

oui d'accord que je vais pas apprendre mais je ne vois pas comment faire autrement avec free qui refuse la modification de fichier

Répondre à comando69

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.

------------------------------ Les dessins des seins ou les desseins des saints ?
Répondre à OmaR

d'où les variables globales...

Répondre à maith

et un compteur de clic ca commence forcement a 0 ou on peeut le faire commence a un autre chiffre??

Répondre à comando69

il suffi de l'initialiser
mais ça dépend des compteurs

Répondre à maith

car si je peux le faire commencer a 50 par exemple apres au lieu de mettre +1 par clic on met -1 non?

Répondre à comando69

oui, mais ça ne change rien :)

Répondre à maith

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

Répondre à comando69

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)

Répondre à maith

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

Répondre à comando69

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-1 [...] nnees.html

Répondre à maith

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


Message édité par comando69 le 04-01-2007 à 18:47:41
Répondre à comando69
Tom's Guide > Forum > Programmation > compte a rebour en clic par page
Aller à :

Il y a 298 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens