login  Naam:   Wachtwoord: 
Registreer je!
 Forum

land en provider (Opgelost)

Offline dreamworld - 13/04/2007 08:52 (laatste wijziging 13/04/2007 08:53)
Avatar van dreamworldHTML beginner Ik ben bezig met een statistieken scriptje alleen nu stuit ik tegen 2 probleempjes aan. Met de volgende 2 functies haal ik het land en de provider van de bezoeker op waarvan ik de gegevens later weer ga gebruiken. Maar het probleem is, dit werkt niet als ik het lokaal bekijk, ook logisch maar is hier een oplossing voor?  

De 2 functies:
  1. <?php
  2. function land()
  3. {
  4. $land = gethostbyaddr($_SERVER['REMOTE_ADDR']);
  5. $ext = end(explode('.',$land));
  6.  
  7. return $ext;
  8. }
  9.  
  10. function provider()
  11. {
  12. $provider = gethostbyaddr($_SERVER['REMOTE_ADDR']);
  13. $output = explode("." , $provider);
  14. $resultaat = array_reverse($output);
  15.  
  16. return $resultaat[1];
  17. }
  18. ?>

16 antwoorden

Gesponsorde links
Offline ikkedikke - 13/04/2007 19:33
Avatar van ikkedikke PHP expert van tevoren controleren of er wel een punt in zit?
Offline bertmelis - 13/04/2007 19:56 (laatste wijziging 13/04/2007 19:56)
Avatar van bertmelis PHP interesse huh? het is logisch dat het niet lokaal werkt, en toch wil je een oplossing?

Er zit duidelijk geen punt in!
Offline delta_004 - 13/04/2007 20:51
Avatar van delta_004 Onbekend Niet mogelijk want je kijkt waarscheinlijk via localhost... Trouwens wat boeit het of je land wordt weergeven als je het zelf weet?
Offline dreamworld - 14/04/2007 01:02
Avatar van dreamworld HTML beginner @ikkedikke:
Citaat:
Van tevoren controleren of er wel een punt in zit?


Euh...die haal ik er juist uit.....

@bertmelis:
Citaat:
Er zit duidelijk geen punt in!


En waarom zou die erin moeten zitten?

@delta_004
Citaat:
Niet mogelijk want je kijkt waarscheinlijk via localhost...


Als je m`n startpost even zou lezen lees je dat ik het inderdaad lokaal bekijk en ik een oplossing zou willen zodat ik wel een land (en provider) wil zien, want als mij dat nie boeit zou ik dit niet posten 
Offline ikkedikke - 14/04/2007 01:04
Avatar van ikkedikke PHP expert Het komt er op neer dat in 'localhost' geen punt zit. Als er dus geen punt in zit weet je dat het localhost moet zijn of iets van een computer in je werkgroep. Van beide is het land niet relevant.
Offline dreamworld - 14/04/2007 01:17
Avatar van dreamworld HTML beginner @ikkedikke:
ok, daar heb je een punt te pakken.
Maar is er geen omweg dat het toch mogelijk is dat ik een land en provider te zien krijg? Lijkt me erg sterk dat dat er nie is...
Offline nemesiskoen - 14/04/2007 01:55
Avatar van nemesiskoen Gouden medaille

PHP expert
Nee, omdat je ip adres 127.0.0.1 is...
Wat je kan doen, is een request versturen naar een site op het internet, vragen om je ip adres, en dit terugsturen. Maar als je dit lokaal wil doen dan neem ik aan dat je geen internet hebt, of niet bij handen bij dit systeempje.
Offline dreamworld - 14/04/2007 02:26
Avatar van dreamworld HTML beginner De pc die lokaal draait hangt aan het internet dus das geen probleem.
In mijn stats scriptje vraag ik mijn ip adres al op via een externe site, alleen nu zoek ik dus een manier die mij m`n provider en land terug geeft en niet alleen m`n ip.
Offline bertmelis - 14/04/2007 11:54 (laatste wijziging 14/04/2007 11:54)
Avatar van bertmelis PHP interesse
  1. <?php
  2. function land($debug=0)
  3. {
  4. if($debug) $ip = '64.233.183.103'; // Google's IP
  5. else $ip = $_SERVER['REMOTE_ADDR'];
  6.  
  7. $land = gethostbyaddr($ip);
  8. $ext = end(explode('.',$land));
  9.  
  10. return $ext;
  11. }
  12. ?>

Offline dreamworld - 16/04/2007 08:44
Avatar van dreamworld HTML beginner @bertmelis:
bedankt voor die code, maar met die code krijg ik nog steeds niet het land te zien als ik dit lokaal test, ik krijg m`n computernaam te zien...
Offline delta_004 - 16/04/2007 08:52
Avatar van delta_004 Onbekend Maar het is gewoon niet mogelijk... Je bezoekt op IP localhost en ik zie daar niet .nl ofzo achter staan...
Offline Ultimatum - 16/04/2007 08:56 (laatste wijziging 16/04/2007 08:57)
Avatar van Ultimatum PHP expert
Citaat:
Get the Internet host name corresponding to a given IP address


Dat staat op php.net voor gethostbyaddr(); Dan doet hij het toch goed?

@hierboven, wat dacht je van je hebt ook een normaal ip op je pc ipv alleen localhost of 127.0.0.1
Offline delta_004 - 16/04/2007 09:01
Avatar van delta_004 Onbekend Ik denk niet dat je je internet ip kunt ophalen van uit je localhost aangezien je lokaal zit(A)
Offline ikkedikke - 16/04/2007 15:59
Avatar van ikkedikke PHP expert probeer met sockets eens je ip te plukken van whatismyip.info oid.
Overigens snap ik niet waarom je persee rekening wil houden met localhost.
Wanneer je een statistiekenscript echt gaat gebruiken zal het toch op een server komen te staan die niet als normale pc gebruikt wordt.
Offline Godlord - 16/04/2007 18:32 (laatste wijziging 16/04/2007 18:32)
Avatar van Godlord PHP gevorderde
  1. <?php
  2. function getip()
  3. {
  4. $ip = $_SERVER['REMOTE_ADDR'];
  5. if ($ip == "127.0.0.1") {
  6. $ip = '0.0.0.0'; //Herplaats dit met jouw IP address.
  7. }
  8.  
  9. return $ip;
  10. }
  11.  
  12.  
  13. function land()
  14. {
  15. $land = gethostbyaddr(getip());
  16. $ext = end(explode('.',$land));
  17.  
  18. return $ext;
  19. }
  20.  
  21.  
  22. function provider()
  23. {
  24. $provider = gethostbyaddr(getip());
  25. $output = explode("." , $provider);
  26. $resultaat = array_reverse($output);
  27.  
  28. return $resultaat[1];
  29. }
  30. ?>


Werkt alleen als je een vaste IP hebt. Dus geen die veranderd bij het herstarten van de PC. Anders heb ik dus geen oplossing.
Offline nemesiskoen - 16/04/2007 20:16
Avatar van nemesiskoen Gouden medaille

PHP expert
Anders doe je gewoon een request naar een website op het Internet en vraag je je ip op. Iets wat ik al van het begin lig te schreeuwen...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.221s