login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Land van herkomst achterhalen

Offline prienstra - 27/11/2009 13:24
Avatar van prienstraMySQL interesse Beste mensen,

Ik heb een website waarvoor ik in nederland en belgie adverteer. Mijn telefoonnummer staat ook vermeld. Nu wil ik iets maken dat als de bezoeker uir belgie (of ander land) komt het internationalen nummer getoond wordt (+31-20-0000000) en anders het nederlandse nummer (020-000000).

Hoe kan ik dat achterhalen, en is dat een beetje betrouwbaar?

12 antwoorden

Gesponsorde links
Offline ArieMedia - 27/11/2009 13:26
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
het IP opvragen, de eerste getallen (dus 72.xxx.xxx.xxx) is de landcode, voor Nederland was dit dacht ik 71,72 en 79.

Er staat vast wel ergens een lijst met landcodes
Offline prienstra - 27/11/2009 13:31
Avatar van prienstra MySQL interesse Ik heb zoiets gevonden:

<?php
$ip = $_SERVER['REMOTE_ADDR'];

if($ip){
$name = gethostbyaddr($ip);
$tmp = explode(".", $name);
$country = $tmp[count($tmp)-1];

}
echo "$country";
?>

Bij mij geeft ie NL aan, wil iemand uit Belgie (of Duitsland) het eens proberen?
Offline Wim - 27/11/2009 14:04
Avatar van Wim Crew algemeen Met deze bibliotheek moet het ook lukken normaal, volgens mij is ze zelfs betrouwbaarder! Als je -zoals in jouw geval- enkel het land wilt bepalen is het volledig gratis :-)

http://www.maxmind.com/app/geolitecountry
Offline voltrex - 27/11/2009 17:13
Avatar van voltrex Lid @ Pienstra, heb je het online staan? :-) (Belg hier  )
Offline Koen - 27/11/2009 17:48
Avatar van Koen PHP expert
prienstra schreef:
Ik heb zoiets gevonden:

<?php
$ip = $_SERVER['REMOTE_ADDR'];

if($ip){
$name = gethostbyaddr($ip);
$tmp = explode(".", $name);
$country = $tmp[count($tmp)-1];

}
echo "$country";
?>

Bij mij geeft ie NL aan, wil iemand uit Belgie (of Duitsland) het eens proberen?

Wat met hostnames die eindigen in .net, .com, ... ?
En daarbij kan die code op één lijntje:
  1. <?php
  2. echo end(explode('.', gethostbyaddr($_SERVER['REMOTE_ADDR'])));
  3. ?>
Offline Filip - 27/11/2009 17:55
Avatar van Filip IRC guru
ArieMedia schreef:
het IP opvragen, de eerste getallen (dus 72.xxx.xxx.xxx) is de landcode, voor Nederland was dit dacht ik 71,72 en 79.

Er staat vast wel ergens een lijst met landcodes


Dit is de grootste onzin die ik ooit gelezen heb... IP adressen hebben niets met landen te maken, ze worden verkocht in klasse A B en C (depending on how many)

Ook zou dat wel leuk zijn dat nederland alleen al 3 van de 253 ranges zou bezitten, wat ga je dan doen met alle andere landen in de wereld..? Er zijn er wel een paar meer dan 253 
Offline prienstra - 27/11/2009 18:09 (laatste wijziging 27/11/2009 18:09)
Avatar van prienstra MySQL interesse
Koen schreef:
[..quote..]
Wat met hostnames die eindigen in .net, .com, ... ?
En daarbij kan die code op één lijntje:
[..code..]


Kan een nederlandse aansluiting eindigen op .com of .net?
Ik wil het de bezoekers van mijn website even simpeler maken:

  1. If($country == 'NL') {
  2. echo "Tel. 020-1234567";
  3. } else {
  4. echo "Tel. +31-20-1234567";
  5. }
Offline Wim - 27/11/2009 18:19
Avatar van Wim Crew algemeen Ja dat kan. Kijk even naar de link die ik je gegeven hebt, dat is volgens mij de beste oplossing.

Verder kan je met gethostbyaddr best ook gewoon een IP-adres terugkrijgen:
Citaat:
Return Values

Returns the host name or the unmodified ip_address on failure.
Offline prienstra - 27/11/2009 20:03 (laatste wijziging 27/11/2009 20:04)
Avatar van prienstra MySQL interesse @Wim: Ik zal de link bekijken.

Om het bovenstaande script te testen kan je op de vogende pagina kijken wat voor land gegeven wordt:
http://www.naareenhotel.nl/test1.php

Vermeld in welk land u zich bevindt, en wat de website aangeeft.
Offline vinTage - 27/11/2009 20:06
Avatar van vinTage Nieuw lid be (juist dus)
Offline Ontani - 28/11/2009 00:16
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
be, klopt ook
Offline Flex1986 - 28/11/2009 07:05
Avatar van Flex1986 Gouden medaille

Senior Member
Land: (cn) en dat klopt ook.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.197s