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 1878 Statut Membre 277
 
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 1878 Statut Membre 277
 
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