compteur de hit sur des photos - PHP - Programmation
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
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 )
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 ?
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 ?
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 ) :
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é.
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
Merci
Marsh Posté le 29-12-2005 à 23:07:49
ReplyMarsh 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. |
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'); |
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
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...
Marsh Posté le 29-12-2005 à 23:15:51
Merci beaucoup 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
Marsh Posté le 29-12-2005 à 23:18:03
Le javascript c'est bien ... en abuser ça craint
De rien
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 ?
---------------
PSN : julien_fr38