phpbar.de logo

Mailinglisten-Archive

[php] Herkunftsland des Users

[php] Herkunftsland des Users

Helmut P. Fleischhauer hpf at abarcar.com
Die Mar 28 14:03:14 CEST 2006


Helmut P. Fleischhauer wrote:
> Joern Grube wrote:
> 
>>Hallo,
>>und wieder - vermutlich - eine Anfängerfrage.
>>Ich brauche für eine Statistik das Herkunftsland des Seitenbesuchers. 
>>Ich bin die PHP-Info komplett durch, da finde ich aber nichts, nur die 
>>akzeptierte Sprache im Browser des Besuchers, was wohl recht ungeeignet ist.
>>Ich denke, ich muss irgendwas mit _SERVER["REMOTE_ADDR"] anstellen. 
>>Vielleicht kann mir jemand einen Hinweis geben, was und wo ich suchen 
>>muss? Oder brauch ich ganz was anderes, was ich übersehen habe?
>>
>>Liebe Grüße Jörn Grube
> 
> *********
> Hallo,
> es gibt da 'IP - Country Mapping' Datenbanken
> ca. US$ 50,-
> Je nach Umfang recht genau
> Wird z.B. hier zur Vorauswahl des Landes
> http://www.top-invest.com/reg.php?reg=1
> verwendet.
> Grüsse
> Helmut P. Fleischhauer
> 
******
Vergessen ..
Die Routine zum Anfragen sieht dann so oder ähnlich aus aus


global $HTTP_SERVER_VARS;
if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"] != ""){
   $IP = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
$proxy = $HTTP_SERVER_VARS["REMOTE_ADDR"];
$host = @gethostbyaddr($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]);
}else{
$IP = $HTTP_SERVER_VARS["REMOTE_ADDR"];
$host = @gethostbyaddr($HTTP_SERVER_VARS["REMOTE_ADDR"]);
}
$dotted = preg_split( "/[.]+/", $IP);
$ip = (double) ($dotted[0] * 16777216) + ($dotted[1] * 65536) +
($dotted[2] * 256) + ($dotted[3]);
$ip1=floatval($ip);

--- DB Abfrage
$db->query("select countrycode from iprange where ip_from<=$ip1 and
ip_to>=$ip1");






php::bar PHP Wiki   -   Listenarchive