• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Probleme mit GeoIP

hakura

Mitglied
Hallo,
Ich habe alle benötigten Dateien von GEOIP auf meinen Server geladen. Nun möchte ich es mit einem PHP-File abfragen um den Benutzer je nach Land weiterzuleiten:
PHP:
<?php
// include the php script
//include("geoip.inc");
require_once("geoip.inc");
// open the geoip database
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);

// to get country code
$country_code = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
echo "Your country code is: $country_code \n";

// to get country name
$country_name = geoip_country_name_by_addr($gi, $_SERVER['REMOTE_ADDR']);
echo "Your country name is: $country_name \n";

if($country_code == 'CH')
{
        header('Location: http://www.google.ch');
}
else {
        header('Location: http://www.google.de');
}

// close the database
geoip_close($gi);
?>

Leider funktioniert das nicht, wenn ich die aktuelle Seite aufrufe mit diesem PHP-Code darin, erscheinen alle Daten von den GEOIP darin.

Ich weiss nicht wie ich das beheben kann.

Danke
 
Werbung:
Hallo,
Ich habe alle benötigten Dateien von GEOIP auf meinen Server geladen. Nun möchte ich es mit einem PHP-File abfragen um den Benutzer je nach Land weiterzuleiten:
PHP:
<?php
// include the php script
//include("geoip.inc");
require_once("geoip.inc");
// open the geoip database
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);

// to get country code
$country_code = geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
echo "Your country code is: $country_code \n";

// to get country name
$country_name = geoip_country_name_by_addr($gi, $_SERVER['REMOTE_ADDR']);
echo "Your country name is: $country_name \n";

if($country_code == 'CH')
{
        header('Location: http://www.google.ch');
}
else {
        header('Location: http://www.google.de');
}

// close the database
geoip_close($gi);
?>

Leider funktioniert das nicht, wenn ich die aktuelle Seite aufrufe mit diesem PHP-Code darin, erscheinen alle Daten von den GEOIP darin.

Ich weiss nicht wie ich das beheben kann.

Danke

Wenn du Daten siehst, werden die wohl innerhalb von geoip.inc ausgegeben.
In diesem Codeauszug findet jedenfalls keine derartige Ausgabe statt.

Die Weiterleitung funktioniert nicht da du nach einem "echo" keinen "header" mehr senden kannst.
Da du anscheinend keine entsprechende Fehlermeldung bekommst, solltest zukünftig während der Entwicklung das error_reporting aktivieren, dann siehst du das selbst.
 
ja gut aber ich hab soviele Tutorial von Google gesehen und alle haben es genau so drin. Ich habe die geoip.inc verschiedene male neu heruntergeladen. Es nützt nichts.
Ich will doch nur sehen aus welchem Land der Besucher kommt und den entsprechend auf zwei Seiten weiterleiten. Kann mir jemand helfen ?
 
Werbung:
Ich tippe auf
PHP:
require_once("geoip.inc");
Eine .inc-Datei wird bestimmt nicht vom Parser durchlaufen, deshalb nenne die Datei z.B. in geoip.inc.php um und passe require_once an.
 
Zurück
Oben