[PHP] Limiter un clic par jour sur un lien
Pilou
-
ThEBiShOp Messages postés 9307 Statut Contributeur -
ThEBiShOp Messages postés 9307 Statut Contributeur -
Bonjour,
Je cherche à limiter un clic par jour par ip sur un lien de mon site.
Comment dois-je m'y prendre ?
Je sais que je dois faire quelque chose dans la bbd mais je sais pas quel code mettre etc ...
Voilà aidez moi :)
Je cherche à limiter un clic par jour par ip sur un lien de mon site.
Comment dois-je m'y prendre ?
Je sais que je dois faire quelque chose dans la bbd mais je sais pas quel code mettre etc ...
Voilà aidez moi :)
A voir également:
- [PHP] Limiter un clic par jour sur un lien
- Créer un lien pour partager des photos - Guide
- Lien url - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Verificateur de lien - Guide
13 réponses
Mettre un champ dans la table des utilisateurs qui contiendra la date du clic.
Quand la personne clic vous enregistrez la date en base et vous effectuez un test pour voir si date courante différente de la date entrée.
Quand la personne clic vous enregistrez la date en base et vous effectuez un test pour voir si date courante différente de la date entrée.
Pilou
Ca je sais mais tu peux me dire exactement les code à rentrer etc ...
NookZ
Messages postés
2376
Statut
Membre
514
>
Pilou
ben non y'a pas d'intérêt, c'est pas formateur...
(T'es pas obliger de me vousvoyer lol)
En php ? Je sais faire toutes sortes de choses, la majorité de ce que je sais je l'ai apris à partir d'un code que j'avais précedement demandé à quelqu'un, mais après j'ai comblé mes lacunes avec siteduzero....
En php ? Je sais faire toutes sortes de choses, la majorité de ce que je sais je l'ai apris à partir d'un code que j'avais précedement demandé à quelqu'un, mais après j'ai comblé mes lacunes avec siteduzero....
au passage on risque pas de te dire quel code entrer étant donné qu'on va avoir du mal à deviner à la fois la structure de ton site et de ta base de données...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu recupes l'IP du visiteur quand il clique ( avec la variable d'envirronement $_SERVER['REMOTE_ADDR'] )
tu créés une table clic par exemple qui contient la date/heure/seconde, l'IP et le nom du lien, et a chaque clic tu fais d'abord un
ta requete = SELECT * FROM tatable WHERE ip="l'ipdu gars" && date < "24 heures"
Si ta requette = 0
// c'est a dire que la personne n'a pas cliqué aujourd'hui et donc aucune entrée correspondante
//dans ta table
{
on redirige vers le liens etc
et on fais un INSERT INTO pour enregistrer son clic
}
Sinon
{
message d'erreur du style "vous avez déja cliqué sur ce lien il y a moisn de 24h"
}
J'ai pensé ça rapidement je sais pas si c'est une bonne technique
Ca te parle ?
tu créés une table clic par exemple qui contient la date/heure/seconde, l'IP et le nom du lien, et a chaque clic tu fais d'abord un
ta requete = SELECT * FROM tatable WHERE ip="l'ipdu gars" && date < "24 heures"
Si ta requette = 0
// c'est a dire que la personne n'a pas cliqué aujourd'hui et donc aucune entrée correspondante
//dans ta table
{
on redirige vers le liens etc
et on fais un INSERT INTO pour enregistrer son clic
}
Sinon
{
message d'erreur du style "vous avez déja cliqué sur ce lien il y a moisn de 24h"
}
J'ai pensé ça rapidement je sais pas si c'est une bonne technique
Ca te parle ?
->NookZ
Oui, mais je ne sais quel code rentrer pour créer un table qui récupère la date du clic, l'adresse ip etc ...
->ThEBiShOp
C'est simple vous laisser les champs inconnu vide, avec une indication qu'est ce que je dois mettre.
Oui, mais je ne sais quel code rentrer pour créer un table qui récupère la date du clic, l'adresse ip etc ...
->ThEBiShOp
C'est simple vous laisser les champs inconnu vide, avec une indication qu'est ce que je dois mettre.
ça manque toujours cruellement d'infos...
ce sont des membres ou des visiteurs anonymes qui doivent cliquer ?
faut d'abord trouver un moyen d'identifier le visiteur, si c'est un membre, on utilise son id, si c'est un utilisateur anonyme, on procède soit pas ip, soit par cookies, soit avec les 2.
ensuite le principe est en gros comme l'a dit Samy.
Il vaut mieux utiliser le timestamp, c'est plus souple qu'une date déjà formatée
les liens sont en dur sur le site ? ils viennent d'une base ?
:/
ce sont des membres ou des visiteurs anonymes qui doivent cliquer ?
faut d'abord trouver un moyen d'identifier le visiteur, si c'est un membre, on utilise son id, si c'est un utilisateur anonyme, on procède soit pas ip, soit par cookies, soit avec les 2.
ensuite le principe est en gros comme l'a dit Samy.
Il vaut mieux utiliser le timestamp, c'est plus souple qu'une date déjà formatée
les liens sont en dur sur le site ? ils viennent d'une base ?
:/
J'en reviens a ce que ThEBiShOp dit au sujet du timestamp. c'est peut être plus souple car tu n'a qu'un seul nombre mais c'est plus compliqué a utilisé avec sql du moins, c'est plus facile d'utiliser les date géré directement par sql.
personellement je pense que le temps unix devrait s'utiliser seulement avec php et non pas sql.
les date avec sql sont beaucoup plus maniable mais bon, tu va me dire que dans son exemple, on s'en fou un peu car il ne manipule pas les variables de temps.
bref, j'arrete l'hors sujet :p
Pilou, regarde le début de code qu'on t'as donné au dessus. utilise le et fait toi même le code.
Si tu as suivi le tuto du SDZ, tu devrait y arriver sans trop de mal.
On est jamais mieux servi que par soit même ;)
Bonne chance :)
personellement je pense que le temps unix devrait s'utiliser seulement avec php et non pas sql.
les date avec sql sont beaucoup plus maniable mais bon, tu va me dire que dans son exemple, on s'en fou un peu car il ne manipule pas les variables de temps.
bref, j'arrete l'hors sujet :p
Pilou, regarde le début de code qu'on t'as donné au dessus. utilise le et fait toi même le code.
Si tu as suivi le tuto du SDZ, tu devrait y arriver sans trop de mal.
On est jamais mieux servi que par soit même ;)
Bonne chance :)
Pourquoi faire Compliqué quand on peut faire simple ? le time stamp ca veut dire que tu dois faire
$timestampduclic
$timestampactuel
$nombredesecondeen24h
$test = $timestampactuel - $timestampduclic
Si $test > $nombredesecondeen24h
...
J'éxagère mais c'est plus complexe quoi lol :p
C'est par contre plus souple je te l'accord !
Et puis avec le bug de l'an 2032 ca risque d'être une mauvaise habitude a ne plus prendre d'utiliser les timestamp hihi !
$timestampduclic
$timestampactuel
$nombredesecondeen24h
$test = $timestampactuel - $timestampduclic
Si $test > $nombredesecondeen24h
...
J'éxagère mais c'est plus complexe quoi lol :p
C'est par contre plus souple je te l'accord !
Et puis avec le bug de l'an 2032 ca risque d'être une mauvaise habitude a ne plus prendre d'utiliser les timestamp hihi !