Bonjour à tous,
Dans une table MySql je dispose d'entre autres deux champs (IpContact & timeContact)
IpContact (varchar) reprend dans la table l'adresse ip d'un utilisateur
timeContact (datetime) indique dans la table la date et l'heure auxquelles le visiteur a envoyé son/ses formulaire(s)
Pour limiter l'envoi de formulaires à 5 par jour, j'aimerais comparer l'ip de l'utilisateur avec les ip de la db du jour courant
// récupération de la variable ip de l'utilisateur par
$ip = $_SERVER['REMOTE_ADDR'];
$sql = "SELECT * FROM contacts where ipContact=".$ip ; $result = mysql_query($sql,$link);
Quelqu'un a-t-il une idée de comment ne reprendre les ip des champs que pour une date précise (le cas échéant la date du jour) ?
Tu peux modifier ta requete comme ceci :
$sql = "SELECT IpContact FROM contacts WHERE ipContact=".$ip." AND timeContact = now()"; // pour aujourdui
pour une autre date, au lieu de now() tu peux mettre
"timeContact = ".date("Y-m-j", mktime(0,0,0,date("m"),date("d")-1,date("Y"))).";
ce qui va renvoyer la date d'hier (il y a peut etre plus facile, surement même, mais j'aime encore bien quand c'est bien tordu :) )
Tu peux jouer avec les intervales, par exemple récupérer toutes les ip des 7 derniers jour :
"timeContact <= now() && timeContact >= ".date("Y-m-j", mktime(0,0,0,date("m"),date("d")-7,date("Y")));
Je sais que ceci marche avec un champ date, j'ai jamais essayé avec un datetime, il faudra peut etre un peu adapter.
date() : http://be2.php.net/manual/fr/function.date.php
mktime() : http://be2.php.net/manual/fr/function.mktime.php
voila j'espère avoir répondu à ta question ou au moyen donné des pistes .
JF
_______________________________________________ Ressources mailing list [EMAIL PROTECTED] http://ressource-toi.org/cgi-bin/mailman/listinfo/ressources