Loading:

Postanowienia noworoczne - a Ty czego nauczysz się w nowym roku? [-25%]

Stworzenie linka na podstawie adresu IP do strony rejestru internetowego w zależności od kodu kontynentu.

W artykule pokaże jak stworzyć linka, jeśli mamy adres IP + ContinentCode do regionalnego adresu internetowego. Np. jeśli ContinentCode do funkcji będzie podany 'EU' (Europa) wtedy funkcja zwróci linka do RIPE. ContinentCode od adresu IP można zdobyć np. przez geolokalizacje http://www.geoplugin.com/webservices/php zwraca ten parametr, ale nie o tym mowa w artykule.

Skrypt składa się z funkcji PHP do generowania linku + funkcji JS umożliwiającej po kliknięciu w link przejście do niego wraz z wysłaniem odpowiednich danych POST.

Poniżej lista kodów kontynentów:

AF = Africa
AS = Asia
EU = Europe
NA = North America
SA = South America
OC = Oceania
AN = Antarctica

 

Użycie funkcji:

 ContinentDatabaseLinkAssign($ip, $continentCode)

 

Przykładowy link:

 echo '<a href="'.ContinentDatabaseLinkAssign('66.232.123.222', 'NA').'">'.$ip.'</a';



Napisz Artykuł

Listing

<script type="text/javascript">
function postwith (to,p) {
//Funkcja by Fastman92
  var myForm = document.createElement("form");
  myForm.method="post" ;
  myForm.action = to ;
  for (var k in p) {
    var myInput = document.createElement("input") ;
    myInput.setAttribute("name", k) ;
    myInput.setAttribute("value", p[k]);
    myForm.appendChild(myInput) ;
  }
  document.body.appendChild(myForm) ;
  myForm.submit() ;
  document.body.removeChild(myForm) ;
}
function doNothing(){}
</script>

<?php
function ContinentDatabaseLinkAssign($ip, $continentCode){
//Funkcja by Fastman92
//Rozbudowany licznik odwiedzin -> Find in Google

//We must construct link for accessing IP adress in international database according to the continent
        switch ($continentCode)
        {
                case 'EU':
                        return 'http://www.db.ripe.net/whois?form_type=simple&amp;full_query_string=&amp;searchtext='.$ip.'&amp;do_search=Search';
                        break;
                case 'AF':
                        return 'http://www.db.ripe.net/whois?form_type=simple&amp;full_query_string=&amp;searchtext='.$ip.'&amp;do_search=Search';
                        break;
                case 'NA':
                        return 'javascript:postwith(\'http://ws.arin.net/whois/\',{queryinput:\''.$ip.'\'})';
                        break;
                case 'AS':
                        return 'javascript:postwith(\'http://wq.apnic.net/apnic-bin/whois.pl\',{searchtext:\''.$ip.'\'})';
                        break;
                case 'OC':
                        return 'javascript:postwith(\'http://wq.apnic.net/apnic-bin/whois.pl\',{searchtext:\''.$ip.'\'})';
                        break;
                case 'SA':
                        return 'javascript:postwith(\'http://lacnic.net/cgi-bin/lacnic/whois?lg=EN\',{query:\''.$ip.'\'})';
                        break;
                case 'AN':
                        return 'javascript:postwith(\'http://ws.arin.net/whois/\',{queryinput:\''.$ip.'\'})';
                        break;
                default:
                        return 'javascript:doNothing();';
                        }
}
?>

<?php
//test funkcji continentCode
$ip = '66.232.123.222';
$continentCode = 'NA';
echo '<a href="'.ContinentDatabaseLinkAssign($ip, $continentCode).'">'.$ip.'</a';
?>


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=2&t=5698

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: fastman92 Ranga: Poziom 8 Punktów: 250
Komentarze użytkowników
    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors