login  Naam:   Wachtwoord: 
Registreer je!
 Forum

land herkennen

Offline nathanael - 26/06/2005 23:54
Avatar van nathanaelGouden medaille

HTML gevorderde
hallo

ik wil graag weten hoe je van iemand zijn afkomst achter kunt komen...

Ik heb dit topic al eens gelezen, maar nu wil ik weten hoe je dat doet met strpos()

Kan iemand mij helpen?

9 antwoorden

Gesponsorde links
Offline Stijn - 27/06/2005 00:04
Avatar van Stijn PHP expert Man als je werkt met PHP ga altijd eens naar de bron zelf 
http://php.belnet.be/manual/nl/function.strpos.php
Offline Legolas - 27/06/2005 08:37
Avatar van Legolas Onbekend Je kunt beter met explode werken, en daarna end($array) doen...!
Offline Gerard - 27/06/2005 09:32
Avatar van Gerard Ouwe rakker of je download een ip2country tabel 
Offline gijs - 27/06/2005 10:20 (laatste wijziging 27/06/2005 10:20)
Avatar van gijs HTML beginner Ik heb het uiteindelijk zo opgelost:

  1. <?php
  2. $ip = $_SERVER['REMOTE_ADDR'];
  3. $land = gethostbyaddr($ip);
  4.  
  5. $string = $land;
  6. $zoeknl = ".nl";
  7. $resultaatnl = strpos ($string, $zoeknl);
  8.  
  9. if ($resultaatnl == TRUE)
  10. {
  11. echo "U komt uit Nederland!";
  12. }
  13. ?>


Je kan natuurlijk nog meer landen toevoegen. (heb ik ook gedaan, maar de code wordt dat beetje groot voor hier;-) )
Offline XenoX - 27/06/2005 10:22
Avatar van XenoX Gouden medailleGouden medaille

PHP expert
http://www.site...amp;id=457
Offline nathanael - 27/06/2005 12:25
Avatar van nathanael Gouden medaille

HTML gevorderde
Ja het is namelijk de bedoeling... dat je als uit NL of BE komt dan krijg je de nederlandse versie (index.nl) en als je uit het buitenland komt dan krijg je de engelse versie (index.en)

Maar ik heb het opgelost met het script dat xenox postte... en heb er een if en en else aan gehangen

maar iig thnx
Offline gijs - 27/06/2005 12:48 (laatste wijziging 27/06/2005 12:49)
Avatar van gijs HTML beginner Dat heb ik met die van mij ook gedaan...

  1. <?php
  2. $ip = $_SERVER['REMOTE_ADDR'];
  3. $land = gethostbyaddr($ip);
  4.  
  5. $string = $land;
  6. $zoeknl = ".nl";
  7. $resultaatnl = strpos ($string, $zoeknl);
  8.  
  9. if ($resultaatnl == TRUE)
  10. {
  11. echo '<META HTTP-EQUIV="refresh" CONTENT="1; URL=pages/nl/index.html">';
  12. echo '<script language="javascript">';
  13. echo 'if (parent.frames.length > 0)';
  14. echo 'parent.location.href = location.href';
  15. echo '</script>';
  16. }
  17. ?>


Stukje javascript erin, en klaar istie 
Offline Bart - 27/06/2005 16:34 (laatste wijziging 27/06/2005 16:37)
Avatar van Bart PHP expert Mag ik vragen waarom je van de ene variable een andere variable maakt?
  1. <?php
  2. $ip = $_SERVER['REMOTE_ADDR']; // overbodige regel
  3. $land = gethostbyaddr($ip); /* $land =
  4. gethostbyaddr($_SERVER['REMOTE_ADDR']); */
  5.  
  6. $string = $land; // overbodige regel
  7. $zoeknl = ".nl"; // ook overbodige regel
  8. $resultaatnl = strpos ($string, $zoeknl); // $resultaatnl = strpos
  9. ($land, "\.nl");
  10.  
  11. if ($resultaatnl == TRUE)
  12. {
  13. echo '<META HTTP-EQUIV="refresh" CONTENT="1;
  14. URL=pages/nl/index.html">';
  15. echo '<script language="javascript">';
  16. echo 'if (parent.frames.length > 0)';
  17. echo 'parent.location.href = location.href';
  18. echo '</script>';
  19. }
  20. ?>


De code wordt dus:

  1. <?php
  2. $land = gethostbyaddr($_SERVER['REMOTE_ADDR']);
  3.  
  4. $resultaatnl = strpos ($land, "\.nl"); /* ik wist niet of je een
  5. punt moest escapen? */
  6.  
  7. if ($resultaatnl == TRUE)
  8. {
  9. echo '<META HTTP-EQUIV="refresh" CONTENT="1;
  10. URL=pages/nl/index.html">';
  11. echo '<script language="javascript">';
  12. echo 'if (parent.frames.length > 0)';
  13. echo 'parent.location.href = location.href';
  14. echo '</script>';
  15. }
  16. ?>


Stukken korter, vind je niet?:cool:
Offline gijs - 27/06/2005 16:53 (laatste wijziging 27/06/2005 16:58)
Avatar van gijs HTML beginner zeker, je hebt helemaal gelijk , alleen als je 7 landen hebt (wat ik dus heb) hoe doe je het dan?

Ik had overal gewoon:
  1. $zoeknl = ".nl";

of
  1. $zoekbe = ".be";


Kan dat ook korter dan?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.23s