Trouver le pays d'un utilisateur
Résolu/Fermé
A voir également:
- Trouver le pays d'un utilisateur
- Presse papier iphone ou le trouver ✓ - Forum iPhone
- Trouver le titulaire d'un iban - Forum Vos droits sur internet
- Trouver le propriétaire d'un numéro de téléphone gratuitement ✓ - Forum Mobile
- Trouver un numéro de portable avec un nom ✓ - Forum Mobile
- Trouver le propriétaire d'un numéro de portable gratuit ✓ - Forum Gmail
9 réponses
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
3 nov. 2009 à 15:23
3 nov. 2009 à 15:23
Ok, par contre je connais pas trop ta syntaxe du between, et je ne vois pas pourquoi tu échappes ces simples quotes.
Perso je l'aurai écrite :
$sSql = " SELECT COUNTRY_NAME
FROM `IP_PAYS`
WHERE
`IP_FROM` <= '".$pays."'
AND
`IP_TO` >= '".$pays."'
";
Perso je l'aurai écrite :
$sSql = " SELECT COUNTRY_NAME
FROM `IP_PAYS`
WHERE
`IP_FROM` <= '".$pays."'
AND
`IP_TO` >= '".$pays."'
";
Lu,
ils n'ont pas un profil sur ton site ? tu peux pas regarder leur pays de là-bas ?
et pourquoi veux-tu à tout prix savoir leur pays?
ils n'ont pas un profil sur ton site ? tu peux pas regarder leur pays de là-bas ?
et pourquoi veux-tu à tout prix savoir leur pays?
dyllan
Messages postés
4694
Date d'inscription
mardi 9 janvier 2007
Statut
Contributeur sécurité
Dernière intervention
25 juin 2019
919
3 nov. 2009 à 14:53
3 nov. 2009 à 14:53
Bonjour,
je ne suis pas très bon en dev. mais pour contourner le problème et pour trouver le pays de tes visiteurs tu peux aussi simplement passé par PHPMyvisites.
Si ça peut t'aider,
dyllan
je ne suis pas très bon en dev. mais pour contourner le problème et pour trouver le pays de tes visiteurs tu peux aussi simplement passé par PHPMyvisites.
Si ça peut t'aider,
dyllan
J'aimerais avoir le pays pour simple information (outil d'analyse) mais si possible le coder moi-même et eviter google analytics ou autre (but pédagogique dans ce cas). Merci!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
3 nov. 2009 à 15:03
3 nov. 2009 à 15:03
Ta requête me parait bien étrange...
Tu veux pas faire :
$sSql = "SELECT COUNTRY_NAME FROM IP_PAYS WHERE \'".$pays."\' BETWEEN \'IP_FROM\' and \'IP_TO\'";
echo "<br/>on va éxécuter : ".$sSql;
$valeur= mysql_query($sSql,$conn) or die ('error '.mysql_error());
Et dis moi ce que ça t'affiches.
Puis comme ça, t'as bien une table IP_PAYS ? ? //Si oui montre la structure
Et t'as des enregistrements dedans ?
Un par adresse IP sans les points ? ? ? //ca parait irréel
Car c'est ce que ta requête demande...
Tu veux pas faire :
$sSql = "SELECT COUNTRY_NAME FROM IP_PAYS WHERE \'".$pays."\' BETWEEN \'IP_FROM\' and \'IP_TO\'";
echo "<br/>on va éxécuter : ".$sSql;
$valeur= mysql_query($sSql,$conn) or die ('error '.mysql_error());
Et dis moi ce que ça t'affiches.
Puis comme ça, t'as bien une table IP_PAYS ? ? //Si oui montre la structure
Et t'as des enregistrements dedans ?
Un par adresse IP sans les points ? ? ? //ca parait irréel
Car c'est ce que ta requête demande...
En effet j'ai retiré les quotes pour ceci:
$valeur= mysql_query("SELECT * FROM IP_PAYS WHERE \'".$pays."\' BETWEEN IP_FROM and IP_TO",$conn);
mais je ne comprends pas la syntaxe avec les => et >=.
J'ai une erreur de type:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\wamp\www\4Gl\4glOnNet\fct.php
lors du:
while ($row = mysql_fetch_row($valeur))
{
echo $row[0];
}
$valeur= mysql_query("SELECT * FROM IP_PAYS WHERE \'".$pays."\' BETWEEN IP_FROM and IP_TO",$conn);
mais je ne comprends pas la syntaxe avec les => et >=.
J'ai une erreur de type:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\wamp\www\4Gl\4glOnNet\fct.php
lors du:
while ($row = mysql_fetch_row($valeur))
{
echo $row[0];
}
Zep3k!GnO
Messages postés
2025
Date d'inscription
jeudi 22 septembre 2005
Statut
Membre
Dernière intervention
18 novembre 2015
200
3 nov. 2009 à 15:41
3 nov. 2009 à 15:41
Fais un mysql_query("SELECT * FROM IP_PAYS WHERE \'".$pays."\' BETWEEN IP_FROM and IP_TO",$conn) or die('ERROR SQL : '.mysql_error() );
Il doit y avoir une erreur de syntaxe de requête. D'ailleurs ça ne sert toujours à rien d'échapper les simple quotes pour le pays, il vaut mieux écrire :
"SELECT * FROM IP_PAYS WHERE '".$pays."' BETWEEN IP_FROM and IP_TO"
Pour ce qui est des <= et => c'est pour faire le between c'est du "inférieur ou égal" à et "supérieur ou égal à"
Il doit y avoir une erreur de syntaxe de requête. D'ailleurs ça ne sert toujours à rien d'échapper les simple quotes pour le pays, il vaut mieux écrire :
"SELECT * FROM IP_PAYS WHERE '".$pays."' BETWEEN IP_FROM and IP_TO"
Pour ce qui est des <= et => c'est pour faire le between c'est du "inférieur ou égal" à et "supérieur ou égal à"
3 nov. 2009 à 15:33
s'agit t-il du fichier iptocountry.csv que tu as utilisé ?
Si oui, les "ip" contenues dans la tables n'en sont pas. C'est le résultat d'un calcul à partir des 4 parties de l'ip.
ex pour un ip du style AAA.BBB.CCC.DDD il faut calculer :
AAA x 256^3 + BBB x 256 ^2 + CCC x 256 + DDD
et c'est cette valeur qu'il faut comparer aux IPFROM et IPTO.
Bonne journée