Kliknite tukaj, da si ogledate profil, kot ga vidijo drugi

Pridobivanje IP-ja z GeoIP-jem

Delite vsebino na Facebooku
Delite vsebino na Twitterju
  V današnji lekciji vam bom pokazal, kako lahko z uporabo brezplačnega GeoIP API-ja pridobite uporabnikovo približno lokacijo.
 
 
1
 
 
Najprej odprite dokument in mu dodajte PHP značke, torej <?php in ?>.
 
 
2
 
 
Zdaj morate pridobiti uporabnikov IP naslov in ga shraniti v spremenljivko $ipNaslov.

IP naslov se pridobi z vpisom:
$_SERVER['REMOTE_ADDR'];
 
 
3
 
 
Ker morate za pridobitev podatkov iz API-ja obiskati eno spletno stran iz strežnika, nastavite tudi spremenljivko $url, vrednost le-te pa naj bo:
$url='http://freegeoip.net/json/'.$ipNaslov;

API-ju je potrebno posredovati dva podatka: format vrnjenih podatkov (v tej lekciji json) in IP naslov, katerega preverjamo.
 
 
4
 
 
Zdaj je potrebno le še prebrati, kaj vam je API odvrnil, to prekodirati in izpisati podatke in jih shraniti v spremenljivko $rezultat:

$rezultat=file_get_contents($url);
 
 
 
 
 
5
 
 
Ker smo podatke dobili v JSON formatu, jih moramo s pomočjo PHP-jeve funkcije dekodirati in v spremenljivko shraniti podatke, ki jih bo PHP razumel:

$dekFormat=json_decode($rezultat );
 
 
6
 
 
Na koncu pa lahko izpisujemo uporabnikove podatke. Na voljo imate IP naslov, ki ste ga preverjali, kodo države, ime države, kodo regije, ime regije, ime mesta, ZIP kodo, zemljepisno širino in dolžino, metro kodo in kodo območja.

Določen podatek izpišete takole:

$dekFormat->{'IME PODATKA'};
 
 
7
 
 
Takole izgleda celoten dokument:

<?
//Shranjevanje uporabnikovega IP naslova
$ipNaslov=$_SERVER['REMOTE_ADDR'];

//Nastavljanje spremenljivke $url
$url='http://freegeoip.net/json/'.$ipNaslov;

//Branje obiskanega URL-ja
$rezultat=file_get_contents($url);

//Shranjevanje vrnjenih podatkov v spremenljivko
$dekFormat=json_decode($rezultat);

//Izpisovanje podatkov
echo 'Tvoj IP naslov: '.$dekFormat->{'ip'}.'<br>';
echo 'Država, kjer se nahajaš: '.$dekFormat->{'country_name'}.'<br>';
echo 'Nahajaš se v mestu '.$dekFormat->{'city'};
?>
 
 
8
 
 
To je bilo za danes vse, kako to izgleda na spletu, si lahko ogledate tukaj.

Če česa niste razumeli oz. vam kaj ne deluje pravilno nam pa pišite na forum :)
 
 
Komentiraj
 
 
 
 
 
27.10.2015, 13:53
Napiše mi:
Warning: file_get_contents(http://freegeoip.net/json/89.212.67.91): failed to open stream: Connection timed out in /home/vol13_4/phpnet.us/pn_16734995/htdocs/dostop.php on line 10sd
 
 
 
 
27.10.2015, 22:41
Če odprem povezavo http://freegeoip.net/json/89.212.67.91, mi podatke normalno prikaže.

Tako da problem je ali v tem, da jim začasno storitev ni delovala, ali pa je problem v tem, da tvoj ponudnik gostovanja ne omogoča nalaganja spletnih strani s PHP funkcijami.
 
 
 
 
30.10.2015, 18:03
Na začetku je delelo, ko pa sem dodal kodo za vpis v bazo pa ne napisalo to.
 
Prijava in registracija
 
 
 
Zmaga.com ponuja brezplačno in razumljivo učenje računalniških programov, vas na enkraten način spozna z različnimi svetovnimi jeziki, s podrobno obrazloženimi recepti prikaže čare kulinarike in vam prežene strahove pred domačimi opravili.
 
 
Poleg tega lahko prebirate poučne članke, ki so namenjene širjenju naše splošne razgledanosti ter preverite svoje znanje z priljubljenim in enostavnim sistemom za preverjanje znanja. Če med vsebinami, ki se dodajajo vsak dan, ne najdete želenega znanja, je za vaša vprašanja na voljo dobro obiskan forum, kjer lahko tudi aktivno sodelujete. V primeru, da bi radi svoje praktično znanje delili z ostalimi, pa to lahko storite preko preprostega vmesnika za dodajanje vsebin. Zmagajte z znanjem z Zmaga.com!