Comment ajouter les infos dans une table

youcefmazouni Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
bonjour à tous. Brèf je veux enregistrer l'ip des visiteur d'une page web,j'ai creer une table contient de champs IP et PAYS, j'arrive pa a inserer les variables dans ma table.
voici le code php :

<?php

// Connexion à la base de donnée (à adapter)

mysql_connect("localhost", "root", "");
mysql_select_db('ip adress');

// Fonction permettant de convertir l'adresse IP en un format numérique

function ipAdressNumber($dotted){
$dotted = preg_split( "/[.]+/", $dotted);
$ip = (double) ($dotted[0]*16777216)+($dotted[1]*65536)+($dotted[2]*256)+ ($dotted[3]);

// IP Number = A x (256*256*256) + B x (256*256) + C x 256 + D
return $ip;
}

//$ip = $_SERVER['REMOTE_ADDR']; // Adresse IP du visiteur

$ip='41.107.47.56';

echo 'Adresse IP: '.$ip.'<br />';

$num_ip = ipAdressNumber($ip); // Utilisation de la fonction pour convertir l'adresse IP

echo "Num ip est :$num_ip</br>";

// Sélection des données dans la base de données. Si l'IP est comprise entre IP_FROM et IP_TO

$result = mysql_query('SELECT * FROM ip_to_country WHERE '.$num_ip.' BETWEEN
IP_FROM AND IP_TO ') or die (mysql_error());

$data = mysql_fetch_array($result);

echo 'Pays: <strong>'.$data['COUNTRY_NAME'].'</strong>'; // Affichage du pays du visiteur

mysql_query('insert into visiteur (pays,ip) VALUES ('.$data['COUNTRY_NAME'].','.$ip.')');

mysql_close();
?>

3 réponses

ryko1820 Messages postés 1677 Date d'inscription   Statut Membre Dernière intervention   276
 
Hello,

Sinon pour débuguer facilement ce genre de truc tu fais un echo de ta requête que tu copie/colle directement dans le client sql de phpmyadmin.
Si elle fonctionne pas tu la corriges, et ensuite tu appliques ta correction à ton php ...
1
Utilisateur anonyme
 
C'est les bons réflex à avoir ;)
0
ryko1820 Messages postés 1677 Date d'inscription   Statut Membre Dernière intervention   276
 
Merci,

... en plus il en était pas loin vu tous les echos du code :-)

Give a man a fish etc ... ;-)
0
Utilisateur anonyme
 
Salut salut,

Tu as un message d'erreur?

En regardant juste comme ça, je suppose que le nom de pays est une chaine , donc il faudra mettre des guillemets autour pour l'insérer en base.
0
youcefmazouni Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
non j'ai pas une msg d'erreur,il m'affiche l'ip et num_ip et pays mais il n'insert pas à la base
0
Utilisateur anonyme
 
Comme l'a ryko1820 fais un echo de ta requête et test la directement dans phpmyadmin ou ce que tu utilises. A partir de là tu verras pourquoi ta requête ne passe pas.
0