Jamais deux ip identiques sauvegardez

cs_zaikoe Messages postés 18 Date d'inscription jeudi 26 avril 2012 Statut Membre Dernière intervention 1 décembre 2012 - 17 juil. 2012 à 20:12
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 17 juil. 2012 à 22:01
Bonjour,


dans mon site, j'ai un systeme qui permet si le membre n 'est pas connecté de mémoriser son IP dans ma bdd

table: IPS
champs: Quand =(le jour et l'heure)
IP =(les IP)

mais quand quelqu'un y vas, il surf sur plusieurs pages (j'ai inserer ce code dans config.php)

<?php 


if(isset($_SESSION['username'])) 
{ 
?> 
<?php 


 $username =  $_SESSION['username']; 
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) 
$ip=$_SERVER['HTTP_X_FORWARDED_FOR']; 
else 
$ip=$_SERVER['REMOTE_ADDR']; 
$resudlt mysql_query("Update users SET IP '$ip' WHERE username = '$username'"); 
if (!$resudlt) { 
    die('pb: ' . mysql_error()); 
} 
?> 


<?php 
} 
else 
{ 
?> 
<?php 
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) 
$ip=$_SERVER['HTTP_X_FORWARDED_FOR']; 
else 
$ip=$_SERVER['REMOTE_ADDR']; 
$resudlt mysql_query("INSERT INTO IPS SET IP '$ip'"); 
if (!$resudlt) { 
    die('pb: ' . mysql_error()); 
} 
?> 

<?php 
} 
?>


donc, vu que le code est dans toutes les pages, l'IP s'affiche beaucoup, beacoup, beaucoup de fois et je voudrais qu'une IP peut être enregistrer qu'une seul fois par jour et que quand une IP vient par example mardi, mercredi son IP (donc la date de la visite) soit mis a jour.

Merci d'avance, je recherche n'importe quoi qui pourrait faire l'affaire.



1 réponse

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
17 juil. 2012 à 22:01
Bonjour,

Vérifie l'existence de l'IP avec un SELECT COUNT(*), puis si présent, Update, sinon, Insert.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
Rejoignez-nous