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

  1. ryko1820 Messages postés 1633 Date d'inscription   Statut Membre Dernière intervention   310
     
    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
    1. Utilisateur anonyme
       
      C'est les bons réflex à avoir ;)
      0
    2. ryko1820 Messages postés 1633 Date d'inscription   Statut Membre Dernière intervention   310
       
      Merci,

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

      Give a man a fish etc ... ;-)
      0
  2. 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
    1. 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
  3. 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