Problème - utilisation last_visit
- Accueil
- Forum
- Programmation
- PHP
- Problème - utilisation last_visit
Codeur61 Le 18 février 2019 à 21:20 (Édité le 18 février 2019 à 21:20)
J'ai un problème. (comme tout monde qui poste sur ce forum bien evidemment 😋)
J'ai créer un lien qui n'est accessible qu'une fois par jour pour les utilisateurs de mon site.
Seulement, avec last_visit, je ne peux faire qu'un seul lien accessible une fois par jour, car quand la visite est faite, pour toutes les pages limitée à une visite par jour, le last_visit est compté comme "true".
En gros, j'ai 5 liens limités à une visite par jour :
Lien n°1 visitable sans problème (on entre l'heure de la visite dans la bdd)
Lien n°2 non visitable car last_visit est déjà compté pour aujourd'hui.
etc...
Je souhaite savoir si l'on peut contourner cela.
Avec l'ip peut être.. mais non merci, n'importe qui qui a un VPN peut passer comme ça.
Cookie, il suffit d'un éditeur pour contourner et je n'y connais rien...
Alors voila, je cherche peut être une solution inexistante, quelqu'un peut m'éclairer ?
Je mets mon code :
$q = $bdd->prepare("SELECT * FROM tokens WHERE id_membre = ?");$q->execute([$_SESSION['id']]);
$user = $q->fetch();
$q->closeCursor();
date_default_timezone_set('Europe/Paris');
setlocale(LC_TIME, 'fr');
if (isset($_SESSION['id']) && !is_null($user['last_visit']) && $user['last_visit'] == date('Y-m-d')) {
$_SESSION['alert'] = "Vous avez déjà visité cette page aujourd'hui. Revenez demain !";
header('Location: enquetes2.php?id='.$userinfo['id'].'#');
} else {
$q = $bdd->prepare("UPDATE tokens SET last_visit = ? WHERE id_membre = ?");
$q->execute([date('Y-m-d'), $_SESSION['id']]);
echo "Vous venez d'utiliser votre accès d'aujourd'hui. Vous ne pourrez pas revenir ici une fois la page quittée.";
Merci de votre aide Clouder Le 21 février 2019 à 09:53 (Édité le 1 janvier 1970 à 01:00)
J'utilise l'adresse ip de la personne forcément car c'est ce qu'il y a de plus fiable. Après si une personne utilise un VPN alors tant pis c'est pas si important. C'est juste pour toi avoir des statistiques.
Pour te donner une idée bête si tu vas dans une université tu verras que plusieurs personnes auront la même ip donc tu n'en comptes que une. Tu peux peut-être perdre 20 visites si 20 personnes de la bas viennent sur ton site mais après on fait avec ce que l'on peut avoir. Sinon c'est traquer un utilisateur et au niveau de la loi c'est pas terrible 😅😅
Codeur61 Le 21 février 2019 à 11:44 (Édité le 21 février 2019 à 19:24)
et comme ça je peux faire 10 liens qui sont accessible 1 fois par jour pour un même id.