
le 16/02/2005 à 14:53
capping
Oui, tu as foiré ton mktime (mktime attend des chiffres en paramètres et non une chaine de caractères).
De plus, tu ne selectionnes pas de champs tps dans ta requete SQL alors que tu utilises $caping['tps'].
Il manque aussi la suppression des anciennes entrées dans la table :/
Bref, on va faire un code exemple, sinon on ve pas s'en sortir
Code non testé.
De plus, tu ne selectionnes pas de champs tps dans ta requete SQL alors que tu utilises $caping['tps'].
Il manque aussi la suppression des anciennes entrées dans la table :/
Bref, on va faire un code exemple, sinon on ve pas s'en sortir

<?php
// imaginons que tu stockes l'ip du visiteur ainsi que la date où il charge cette page.
// pour cette date, on utilisera un champ SQL de type INT
// format de la table : table (id, ip, date)
// on calcul la date actuelle et celle d'hier
$tps_actuel = time();
$tps_hier = $tps_actuel - 86400;
// on supprime les anciennes entrées
$sql = 'DELETE FROM table WHERE date < "'.$tps_hier.'"';
mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
// on cherche si l'adresse ip a une entrée dans la base
$sql = 'SELECT count(id) AS is_ip FROM table WHERE ip="'.$_SERVER['REMOTE_ADDR'].'"';
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result($req);
if ($data['is_ip'] == 0) {
// si non, on anjoute une entrée dans la base
$sql = 'INSERT INTO table VALUES("", "'.$_SERVER['REMOTE_ADDR'].'", "'.$tps_actuel.'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
}
?>
Code non testé.