AtomiKiller
Messages postés127Date d'inscriptionlundi 28 juillet 2003StatutMembreDernière intervention11 juin 2008
-
28 oct. 2005 à 12:23
monoceros01
Messages postés420Date d'inscriptionvendredi 28 novembre 2003StatutMembreDernière intervention20 mars 2006
-
28 oct. 2005 à 13:57
Bonjour, je suis actuellement en train de créer un site web mais je suis confronté à un problème que je n'arrive pas à régler.
Effectivement dans ce site, il y a un espace membre, et chaque membre a
un nombre de points, jusque là pas de soucis, mais j'ai créé une page
qui fait que, à chaque fois qu'un membre clique sur un des 10 liens
présents sur la page son compte est crédité de 10 points.
Or, je ne sais pas comment sécuriser pour chaque membre, afin que si il
clique une fois sur le lien, il gagne 10 points, mais que si il
reclique cela ne lui ajoute pas 10 points à nouveau..
Voyez vous mon problème ?
Merci bien, j'espère que vous pourrez m'aider.
A voir également:
Savoir si un membre a déjà effectué une action ou non [TITRE MODERE CAR PEU EXPL
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 28 oct. 2005 à 13:08
Hello,
une table membre, une table lien, une table click (c'est qu'un exemple hein lol).
dans click on a id_membre et id_lien. Tu remplis avec l'id_membre et l'id_lien quand un de tes membres clique sur un lien.
Et là, tu peux même t'amuser, quand un membre est connecté, à n'afficher que les liens dont l'id_lien n'est pas lié à l'id_membre du mebre en question, dans la table click.
Ou tu peux juste n'ajouter les points que lorsque, quand il clique, cette jointure n'est pas présente.
et enfin tu vais une table qui va engendrer une relation entre les deux (de type many-to-many mais tout le monde s'en fout)
table clicks :
id_membre : 2 id_lien : 4
id_membre : 3 id_lien : 1
id_membre : 2 id_lien : 3
id_membre : 2 id_lien : 2
id_membre : 1 id_lien : 2
etc...
et là, si nono (id=2 dans la table membres) veut cliquer une nouvelle fois sur http://www.php.net/(id = 4 dans la table liens) pour bien booster son quota, tu n'as qu'a vérifier si il n'y a pas dans la table clicks un enregistrement avec à la fois id_membre = 2 et id_lien = 4.
d'autant plus que te conseil d'indexer en clé primaire la paire id_membre, id_lien ( PRIMARY KEY (id_membre,id_lien) ), ce qui fera générer une erreur à MySQL quand si tu essayais d'ajouter à nouveau une paire identique.
cs_sjon
Messages postés861Date d'inscriptionmardi 26 mars 2002StatutMembreDernière intervention29 novembre 20061 28 oct. 2005 à 13:08
Sael og blesud
Bah lors du premier clic vous créer une variable de session et vous la
checker par la suite ... Vous pouvez également mettre en place un
système de temps ...
Bon courage ...
NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...
AtomiKiller
Messages postés127Date d'inscriptionlundi 28 juillet 2003StatutMembreDernière intervention11 juin 2008 28 oct. 2005 à 13:13
Malalam merci pour ta réponse mais c'est un peu compliqué vu que j'ai
déjà beaucoup de requetes SQL, Sjon, les sessions me paraissent être
une bonne solution mais si le membre se déconnecte et se reconnecte il
pourra de nouveau être crédité de dix points.
N'y a t-il aucun autre moyen ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
AtomiKiller
Messages postés127Date d'inscriptionlundi 28 juillet 2003StatutMembreDernière intervention11 juin 2008 28 oct. 2005 à 13:17
Ahh oui de plus, les 10 liens sur la page ne sont pas statiques, c'est
à dire qu'à n'importe quel moment, un site peut se rajouter à cette
liste ainsi le premier site devient deuxième et le 10° site s'en va de
la liste vous voyez ?
Donc il faudrait qu'à chaque actualisation de la liste si le membre
clique sur le premier lien, il soit crédité, et que si il clique sur le
deuxième lien ( l'ancien premier sur lequel il avait déjà cliqué ) il
ne soit pas crédité
Je sais c'est compliqué c'est pourquoi je fais appel à vous! merci!
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 28 oct. 2005 à 13:24
Heu...ma solution est simple, et c'est la plus efficace pour ton
problème, justement. Et puis en fait, c'est la seule, pour ce que tu
veux...lol.
Donc il faudrait qu'à chaque actualisation de la liste si le membre
clique sur le premier lien, il soit crédité, et que si il clique sur le
deuxième lien ( l'ancien premier sur lequel il avait déjà cliqué ) il
ne soit pas crédité
D'où l'intérêt d'une table lien. Je ne vois pas ce que ça a de compliqué.
cs_sjon
Messages postés861Date d'inscriptionmardi 26 mars 2002StatutMembreDernière intervention29 novembre 20061 28 oct. 2005 à 13:33
Sael og blesud
Bah vous créez un variable de session $_SESSION[LIEN]=Id du lien
et vous stockez sur le server le temps ... Mais il est vrai que la
solution de Malalam est la meilleure ... et simple à mettre en oeuvre
en plus ... Donc orientez vous plutôt la dessus ...
Bon courage ...
NB : Si la réponse vous convient merci de l'accepter pour fermer ce thread ...