Reuh ...
Bah non la solution c'est de faire :
<?
// on recupere la date de l'instant présent
$date_today = date("Y-m-d H:i:s");
// on décompose la date
sscanf($date_today, "%4s-%2s-%2s %2s:%2s:%2s", &$an_today, &$mois_today, &$jour_today, &$heure_today, &$min_today, &$sec_today);
// récupération de l'adresse IP du client (on cherche d'abord à savoir si il est derrière un proxy)
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif(isset($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
else {
$ip = $_SERVER['REMOTE_ADDR'];
}
...
// on se connecte à notre base
include("./base_connexion.php");
// on prépare une requête SQL permettant de rechercher cette adresse IP dans notre table.
$sql = 'SELECT * FROM visiteurs WHERE ip= "'.$ip.'"';
// on lance la requête SQL (mysql_query) et on affiche un message d’erreur si la requête ne se passait pas bien (or die)
$req = @mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.@mysql_error());
// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($req)) {
// on récupère les valeurs qui nous intéressent
$ip = $data['ip'];
$date = $data['date'];
}
// on décompose la date
sscanf($date, "%4s-%2s-%2s %2s:%2s:%2s", &$an, &$mois, &$jour, &$heure, &$min, &$sec);
// on comptabilise le nombre de résultats obtenus : soit 1, soit aucun (attention, aucun est différent de 0)
$nb_connectes = @mysql_num_rows($req);
// on libère l’espace mémoire alloué pour cette requête SQL
@mysql_free_result($req);
if ($nb_connectes) {
// lancement de la requête de suppression
$sql = 'DELETE FROM visiteurs WHERE ip= "'.$ip.'" AND date = "'.$an_today.'-'.$mois_today.'-'.$jour_today.'-'.$heure.'-'.$min.'-'.$sec.'"';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
@mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.@mysql_error());
$sql = "INSERT INTO visiteurs VALUES('', '$prenom', '$email', '$date_today', '$ip', '$host', '$navigateur', '$referer')";
// on lance la requête SQL (mysql_query) et on affiche un message d’erreur si la requête ne se passait pas bien (or die)
$req = @mysql_query($sql) or die ('Erreur SQL !<br>'.$sql.'<br>'.@mysql_error());
}
else {
// on entre dans ce cas si le client n’a jamais chargé de page.
$sql = "INSERT INTO visiteurs VALUES('','$pseudo','$email','$date_today','$ip','$host','$navigateur','$referer')";
// on lance la requête SQL (mysql_query) et on affiche un message d’erreur si la requête ne se passait pas bien (or die)
$req = @mysql_query($sql) or die ('Erreur SQL !<br>'.$sql.'<br>'.@mysql_error());
}
// on ferme la connexion à la base de données
@mysql_close();
?>
Vala stout,
@+..
One Love, One Heart, One Unity.