compteur de hit sur des photos

compteur de hit sur des photos - PHP - Programmation

Marsh Posté le 29-12-2005 à 16:06:33    

Bonjour à tous,
 
je suis en train de me faire un compteur de hit pour connaitre le nombre de personne ayant vu une photo choisie au préalable dans une liste de miniature.
 
- Page1.php contient le vignettes qui pointent chacune vers la page2 avec des parametres pour afficher l'image selectionnée en grand
- Page2.php reçoit un certain nombre de parametre pour afficher la photo en grand.
 
 
J'arrive à incrementer le compteur de hit, le probleme, si je rafraichi la page Page2.php, le compteur s'incremente ... forcement ;)
 
J'ai essayé plusieurs techniques pour remedier à ce problème, mais en vain :/
 
Vous pouvez m'aiguiller un peu svp ? :jap:


---------------
PSN : julien_fr38
Reply

Marsh Posté le 29-12-2005 à 16:06:33   

Reply

Marsh Posté le 29-12-2005 à 17:32:08    

petit up pour mentionner que j'aimerais ne pas utiliser de session pour résoudre ce problème :D


---------------
PSN : julien_fr38
Reply

Marsh Posté le 29-12-2005 à 17:48:54    

Dans les solutions simples t'as les cookies, le test du referer ( quoique je sais pas ce que devient le referer pendant un refresh ), et une page intermédiaire ( un peu lourd pour un truc du genre il me semble )


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 29-12-2005 à 18:15:02    

ou a l'arrache en stockant IP + id de la photo, mais bon pas top.


---------------
CPU-Z | Timespy | Mes bd
Reply

Marsh Posté le 29-12-2005 à 20:44:07    

Je pense pas que ce soit si lourd que ça la page intérmédaire...
 
Un truc tout con, j'ajoute 1 au compteur de telle photo et je fais un header("Location: lapage.php" );
 
non ?


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 29-12-2005 à 21:30:26    

Merci pour vos réponses.
 
La page intermédiaire faisait parti des solutions potentielles mais créer une page spécialement pour cela ... bof, et il faut que j'enregistre toutes mes variables au préalable que j'envoyais de la page1 -> page2.
 
Dj YeLL, tu ajoutes le +1 à quel moment ?
dans la page1 ou dans la page2 ? :??:

Reply

Marsh Posté le 29-12-2005 à 21:49:13    

ta page 1 vers la page 2 peut etre la meme page ;) juste un argument qui change ;)


---------------
CPU-Z | Timespy | Mes bd
Reply

Marsh Posté le 29-12-2005 à 22:54:17    

Tu peux par exemple mettre un truc du genre là en haut de ta page2 (je te le fais en littéral et en langage porc :D ) :
 
if(!isset($_GET['aff'])) {
 code pour augmenter le compteur de l'image en cours;
 header("Location:mapage2.php?aff=1" );
}
 
Par exemple.
 
Comme ça en cas de refresh, le compteur ne sera pas incrémenté.


Message édité par Dj YeLL le 29-12-2005 à 23:13:05

---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 29-12-2005 à 23:00:39    

juste pour etre sur de bien comprendre car niveau php ... je suis plutot du coté des debutants.
 
cette partie la : header("Location=mapage2.php?aff=1" );  
permet de rajouter à l'url la variable aff avec la valeur 1 c'est bien ca ?
 
Je vais pas tester ce soir, je testerai demain matin, mais je voulais savoir si les autres parametres qui sont dans l'url seront "automatiquement" reinscrit dans l'url ou s'il faut les rajouter dans la partie header("Location ...)
 
 
C'est clair que si j'ai bien compris le role du header("location ...) c'est ce qu'il me faut :D
Merci ;)

Reply

Marsh Posté le 29-12-2005 à 23:07:49    

normalement c'est header('location:lapage.php')

Reply

Marsh Posté le 29-12-2005 à 23:07:49   

Reply

Marsh Posté le 29-12-2005 à 23:11:37    

tsunamijf a écrit :

juste pour etre sur de bien comprendre car niveau php ... je suis plutot du coté des debutants.
 
cette partie la : header("Location=mapage2.php?aff=1" );  
permet de rajouter à l'url la variable aff avec la valeur 1 c'est bien ca ?
 
Je vais pas tester ce soir, je testerai demain matin, mais je voulais savoir si les autres parametres qui sont dans l'url seront "automatiquement" reinscrit dans l'url ou s'il faut les rajouter dans la partie header("Location ...)
 
 
C'est clair que si j'ai bien compris le role du header("location ...) c'est ce qu'il me faut :D
Merci ;)


 
Le header permet de changer l'entête de ta page (une partie invisible pour nous, mais lue par le navigateur).
 
Pour changer le header il faut donc ABSOLUMENT le faire AVANT que ta page n'affiche quoi que ce soit, sinon l'entête aura déjà été envoyée au navigateur et tu vas te retrouver avec un joli "header already sent"...
 
Pour ta question, non, les variable ne seront pas remise automatiquement. Le mieux pour ça est d'utiliser $_SERVER['REQUEST_URI'] qui te retournera la page demandée avec la liste des tes variables...
 
Par exemple tu fais :
 

header('Location:' . $_SERVER['REQUEST_URI'] . '&aff=1');


Message édité par Dj YeLL le 29-12-2005 à 23:11:55

---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 29-12-2005 à 23:12:49    


 
Exact.
 
Je sais pas pourquoi j'ai mis des ' = '
 
Pourtant je l'utilise sans arrêt ce truc...
 
C'est bien Location: et non Location=
 
Merci spike :jap:
 
Edit : ah bah en fait dans mon 1er post j'avais bien mis les ' : '
 
Edit2 : Il y avait un peu trop de smiley à mon goût, ça faisait un peu la foire...


Message édité par Dj YeLL le 29-12-2005 à 23:14:36

---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 29-12-2005 à 23:15:51    

Merci beaucoup :jap: en particulier à Dj YeLL, je ne pense pas que j'aurai trouver ou que je me serai interessé à ce header avant bien longtemps ...
 
je cherchais même du côté du javascript pour empecher un refresh de la page pour ne pas incrementer plusieurs fois ... c'est dire que j'étais tombé bien bas :lol:

Reply

Marsh Posté le 29-12-2005 à 23:18:03    

Le javascript c'est bien ... en abuser ça craint :D
 
De rien :)


---------------
Gamertag: CoteBlack YeLL
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed