Bonjour,
Je suis tomber sur une erreur tellement folle mdr.
Bref, donc j'ai fait un script pour pouvoir ajouter les ip des visiteurs si elle n'existe pas dans ma base, par contre, si elle existe, on met a jour la date, en local, tout fonctionne, mais quand le site et heberger, sa ne fonctionne pas !
Je sais qu'en local il n'y pas l'ip, mais j'ai remplacer l'ip par un chiffre par exemple "14" !
Mon code :

<?php
if(($donnees['ip'] == '14'))
{
$req = "UPDATE ipvisits SET time = NOW() WHERE ip=14";
mysql_query($req);
} else {
$req = "INSERT INTO ipvisits (ip) VALUES('14')"; 
mysql_query($req);
}
            }
            $reponse->closeCursor();
            ?>

1 réponse


Qu'utilises-tu pour récupérer l'adresse IP ?
il y a 3 possibilités :
$_SERVER["HTTP_X_FORWARDED_FOR"] si tu es derrière un proxy
$_SERVER['REMOTE_ADDR']
$_SERVER["HTTP_CLIENT_IP"]
sinon pour tes requêtes SQL tu peux n'écrire qu'une seule requête

INSERT INTO ipvisits(ip, time) VALUES  ($ip, NOW())  ON DUPLICATE KEY UPDATE time=NOW();

il faut que l'ip soit en clé primaire

pour l'ip V6 pense à mettre un champ d'au moins 45 caractères