Forum Sveta kompjutera  

Nazad   Forum Sveta kompjutera > Test Run > Programiranje

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 2.2.2010, 12:35   #1
mirkan03
Član
 
Član od: 4.3.2008.
Poruke: 48
Zahvalnice: 21
Zahvaljeno 0 puta na 0 poruka
Određen forumom Mala pomoc iz PHP-a

Pozdrav svima!!!
Treba mi jedna mala pomoc u kodu PHP.
Pravim jedan sajt, pa sam hteo da ocitam i sacuvam IP i Zemlju iz koje dolazi svaki posetilac u falj npr log.txt

E sad. Sve ide ok sa IP-jem. Evo i koda.

<?php
function zapisiIP(){
$filename = "log.txt"; //fajl u kojem ce biti zavedeni IP-evi
if($fpw = fopen($filename, "a")){ //otvaranje fajla za dodavanje novog zapisa
$string_za_upis = sprintf("[%s] | IP: %s\n",date("d.m.Y.|H:i:s"), $_SERVER['REMOTE_ADDR']);
fputs($fpw, $string_za_upis);
} else die("Pristup fajlu za upis onemogucen!");
fclose($fpw); //zatvaranje fajla
}
?>

Medjutim problem mi pravi Zemlja. Necu da koristim nikakvu bazu ako nemora, pa sam nasao kod na netu:

<?php
$country = ' ';
$IP = $_SERVER['REMOTE_ADDR'];
if (!empty($IP)) {
$country = file_get_contents('http://api.hostip.info/get_html.php?ip='.$IP);
}
?>

Medjutim prijavljije mi gresku.
Molim vas pomozite....
mirkan03 je offline   Odgovor sa citatom ove poruke
Stara 2.2.2010, 12:37   #2
mirkan03
Član
 
Član od: 4.3.2008.
Poruke: 48
Zahvalnice: 21
Zahvaljeno 0 puta na 0 poruka
Određen forumom Re: Mala pomoc iz PHP-a

Nisam naveo da mi pravi problem kod iscitavanja podataka sa date adrese.
TJ nemoze sa odradi funkciju - file_get_contents('http://api.hostip.info/get_html.php?ip='.$IP).
Sorry, nisam bio precizan..
mirkan03 je offline   Odgovor sa citatom ove poruke
Stara 2.2.2010, 14:39   #3
Ivan Stojmenovic
Novi član
 
Član od: 2.2.2010.
Lokacija: Pancevo
Poruke: 6
Zahvalnice: 0
Zahvaljeno 0 puta na 0 poruka
Slanje poruke preko MSN-a korisniku Ivan Stojmenovic
Određen forumom Re: Mala pomoc iz PHP-a

Nije ti dobra sintaksa pokusaj malo to da sredis iskoristi malo promenljive u php-u najbitnije ti je pravilno napisati sintaksu ovaj tvoj kod mi je sve nesto zbrda zdola.... Nije tesko da ti sada ispisem za 2 minuta taj kod ali dzaba kad opet neces ukapirati zato bolje malo sam mucni glavom nije tesko ni malo idi malo na
http://www.w3schools.com/PHP/DEfaULT.asP
pogledaj prouci i ukapiraces poentu toga!!!
Ivan Stojmenovic je offline   Odgovor sa citatom ove poruke
Stara 2.2.2010, 15:27   #4
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom Re: Mala pomoc iz PHP-a

@Ivan Stojmenovic

sta fali sintaksi ?
sve je korektno napisano.
Citat:
<?php // otvara php tag
$country = ' '; // priprema varijablu koja ce sadrzati ime zemlje posetioca
$IP = $_SERVER['REMOTE_ADDR']; // uzima ip adresu posetioca
if (!empty($IP)) { // proverava da li je uspelo uzimanje ip adrese
$country = file_get_contents('http://api.hostip.info/get_html.php?ip='.$IP); //preuzima fajl sa nekog remote servera dinamicki generisuci url na osnovu fiksnog dela i dodavanjem ip adrese posetioca kao parametar
//
// eventualni kod koji tek treba da napise, koji ce parsovati samo ime zemlje iz celokupnog sadrzaja
//
}
?> // zatvara php tag
zaista ne vidim sta ti je tu "zbrda zdola"
ako bi mogao da mi pojasnis, ili pokazes tvoje superiornije resenje, to bi bilo super. (ne kazem da ne moze da se odradi u manje linija, itd, al ovako je vrlo pregledno i jasno sta se tu dogadja - bas kako i treba da bude)


@mirkan03

testirao sam servis rucno i iako nisam dobio nikakve korisne informacije, jeste vratio nesto. (Unknown Country i Unknown City)

ako tebi "zabada", onda bi ja na tvom mestu proguglao file_get_contents funkciju. proveri da li je server na kojem hostujes taj php fajl podesen da radi ta funkcija, i da li je njeno koriscenje dozvoljeno.
irreal je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku irreal na korisnoj poruci:
mirkan03 (2.2.2010)
Stara 2.2.2010, 19:45   #5
mirkan03
Član
 
Član od: 4.3.2008.
Poruke: 48
Zahvalnice: 21
Zahvaljeno 0 puta na 0 poruka
Određen forumom Re: Mala pomoc iz PHP-a

@irreal - Hvala druze na odgovoru, probao sam da 'googlam' i nista slicno nisam nasao.
skontao sam samo da ima dosta problema sa tom funkcijom....:-(

red : $country = file_get_contents('http://api.hostip.info/get_html.php?ip='.$IP)
bi trebalo da vrati samo grad i drzavu, dok postoji i sledeca adresa: 'http://api.hostip.info/country.php' koja vraca samo 2slovnu drzavu.

Na njihovom sajtu (http://www.hostip.info/use.html) sve radi ok, ali nemogu da provalim sto meni neradi...

Da li ima neko bolje resenje????

Inace hostovao sam kod Neobee-a!!

@Ivan Stojmenovic - Ovo je po meni pregledno, ali ako imas bolje resenje slobodno ga postavi i pomozi. Ja neznam "jos" za bolje!!! :-D
mirkan03 je offline   Odgovor sa citatom ove poruke
Stara 2.2.2010, 19:56   #6
holodoc
Deo inventara foruma
 
Član od: 5.12.2005.
Poruke: 6.785
Zahvalnice: 348
Zahvaljeno 1.893 puta na 1.078 poruka
Određen forumom Re: Mala pomoc iz PHP-a

Kažeš da imaš problema sa file_get_contents funkcijom ali nisi naveo koju grešku dobijaš, da li je u pitanju problem sa parametrima ili nešto drugo. Postavi grešku koju dobijaš pri pokušaju izvršenja funkcije pa da vidimo o čemu se konkretno radi.

U svakom slučaju nakon toga napravi jedan php fajl sledeće sadržine
PHP kod:
<?php 
phpinfo
();
?>
i uploaduj ga na server na kome se problem javlja a nakon što pozoveš taj fajl kroz browser proveri u podacima koje dobiješ koju vrednost imaš za podešavanje allow_url_fopen (i global i runtime vrednost).

Što se tiče činjenice da želiš da prikupljaš podatke o posetiocima sajta iskreno mnogo bolja ideja od ručnog čačkanja ti je Google Analytics ili na kraju krajeva instalacija nekog web analyzer aplikacije na sopstvenom serveru (tipa awstats ili webalizer). Naravno instalacija ovog softvera podrazumeva da su serveru pod tvojom kontrolom ali čak i da nisu ako si na nekom normalnom hosting provajderu imaćeš verovatno mogućnost da koristiš neku već postojeću aplikaciju za tu namenu.

E sad ako si baš uporan da nastaviš sa izradom svoje aplikacije onda ti je najbolji pristup da koristiš podatke na svom serveru jer nikad ne znaš kad će sajt koji nudi opciju identifikacije posetioca po IP adresi pući ili prestati da radi (ovaj tvoj servis očigledno iz nekog razloga ne radi kako treba.) Ubedljivo najbolja i najažurnija baza podataka sa IP adresama i njima odgovarajuim državama je u vlasništvu MaxMind kompanije. Tu možeš da nađeš besplatnu bazu koja sadrži samo IP adrese i odgovarajuće države kojima pripada ta adresa dok postoji i komercijalna varijanta koja sadrži i gradove zajedno sa GPS pozicijama i mnigim drugim perverzijama. Evo primera jedne mini aplikacije koja je izrađena baš na osnovu besplatne baze (http://csl.tfc.kg.ac.rs/~brezanac/geoip/). Aplikacija naravno ima i servisni interfejs ali ja ovde neću davati URL do njega pošto je taj deo rezervisan ipak samo za laboratorisjke projekte Bitno je da se sve bitne instrukcije za rad sa ovom bazom (nije neophodno da se baza skladišti u MySQL ili slično) nalaze na sledećoj stranici http://www.maxmind.com/app/php.

Poslednja ispravka: holodoc (2.2.2010 u 20:34)
holodoc je offline   Odgovor sa citatom ove poruke
Stara 2.2.2010, 19:58   #7
mirkan03
Član
 
Član od: 4.3.2008.
Poruke: 48
Zahvalnice: 21
Zahvaljeno 0 puta na 0 poruka
Određen forumom Re: Mala pomoc iz PHP-a

Znaci greska koju mi prijavljuje je:

<b>Warning</b>: file_get_contents(): URL file-access is disabled in the server configuration in <b>..../functions.php</b> on line <b>134</b><br />
<br />
<b>Warning</b>: file_get_contents(http://api.hostip.info/get_html.php?ip=81.18.61.42): failed to open stream: no suitable wrapper could be found in <b>..../functions.php</b> on line <b>134</b><br />


Sta to znaci????
mirkan03 je offline   Odgovor sa citatom ove poruke
Stara 2.2.2010, 20:03   #8
holodoc
Deo inventara foruma
 
Član od: 5.12.2005.
Poruke: 6.785
Zahvalnice: 348
Zahvaljeno 1.893 puta na 1.078 poruka
Određen forumom Re: Mala pomoc iz PHP-a

Citat:
mirkan03 kaže: Pregled poruke
Znaci greska koju mi prijavljuje je:

<b>Warning</b>: file_get_contents(): URL file-access is disabled in the server configuration in <b>..../functions.php</b> on line <b>134</b><br />
<br />
<b>Warning</b>: file_get_contents(http://api.hostip.info/get_html.php?ip=81.18.61.42): failed to open stream: no suitable wrapper could be found in <b>..../functions.php</b> on line <b>134</b><br />


Sta to znaci????
Znači da si pečen Nemaš dozvolu da koristiš file_get_contents funkciju da bi dovlačio podatke sa neta. Ništa neobično za Neobee Za svaki slučaj odradi ovaj deo sa phpinfo funkcijom da budemo sigurni i proveri šta piše pod allow_url_fopen podešavanjima.

Poslednja ispravka: holodoc (2.2.2010 u 20:34)
holodoc je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku holodoc na korisnoj poruci:
mirkan03 (2.2.2010)
Stara 2.2.2010, 20:14   #9
mirkan03
Član
 
Član od: 4.3.2008.
Poruke: 48
Zahvalnice: 21
Zahvaljeno 0 puta na 0 poruka
Određen forumom Re: Mala pomoc iz PHP-a

pod - allow_url_fopen - mi stoji = off.

Znaci nista od toga???

Ostaje mi onda Google analytics i sl?!
mirkan03 je offline   Odgovor sa citatom ove poruke
Stara 2.2.2010, 20:34   #10
holodoc
Deo inventara foruma
 
Član od: 5.12.2005.
Poruke: 6.785
Zahvalnice: 348
Zahvaljeno 1.893 puta na 1.078 poruka
Određen forumom Re: Mala pomoc iz PHP-a

Citat:
mirkan03 kaže: Pregled poruke
pod - allow_url_fopen - mi stoji = off.

Znaci nista od toga???

Ostaje mi onda Google analytics i sl?!
Što se tiče svih poziva sadržaja van servera putem ugrađenih PHP funkcija od njih se oprosti slobodno ali proveri da kojim slučajem nemaš instaliranu cURL ekstenziju. Mada to bi bilo poprilično glupo ako su već isključili onu prvu opciju. Dakle na istoj stranici potraži da kojim slučajem nemaš curl ekstenziju (samo tražiš na stranici curl). Mada opet kažem, u tvom slučaju Google Analytics bi bio mnogo bolje rešenje nego da se petljaš sa ovim glupostima.
holodoc je offline   Odgovor sa citatom ove poruke
Stara 2.2.2010, 21:33   #11
irreal
V.I.P. Programiranje
 
Član od: 9.1.2009.
Lokacija: Beograd, Banovo Brdo
Poruke: 1.157
Zahvalnice: 83
Zahvaljeno 448 puta na 303 poruka
Određen forumom Re: Mala pomoc iz PHP-a

bas kao sto sam i iz keca rekao, da proveris da li je ta funkcija dozvoljena.

nazalost, nisam mogao da ti kazem phpinfo() da koristis jer generalno uopste ne koristim php pa nisam ni znao najbolji nacin da proveris podesavanja servera (zato sam preporucio google)
irreal je offline   Odgovor sa citatom ove poruke
Stara 2.2.2010, 21:48   #12
Geomaster
V.I.P. Programiranje
 
Član od: 28.6.2007.
Lokacija: Beograd
Poruke: 2.342
Zahvalnice: 2.836
Zahvaljeno 1.047 puta na 507 poruka
Slanje poruke preko MSN-a korisniku Geomaster Slanje poruke preko Skypea korisniku Geomaster
Određen forumom Re: Mala pomoc iz PHP-a

PHP kod:
<?php
$country 
' ';
$IP $_SERVER['REMOTE_ADDR'];
if (!empty(
$IP)) {
$ch curl_init(); 
curl_setopt($chCURLOPT_URL'api.hostip.info/get_html.php?ip='.$IP); 
 
//vraca zemlju kao string (povratna vrednost curl_exec
curl_setopt($chCURLOPT_RETURNTRANSFER1); 

$country curl_exec($ch); 

}
?>
Geomaster je offline   Odgovor sa citatom ove poruke
Stara 2.2.2010, 22:14   #13
holodoc
Deo inventara foruma
 
Član od: 5.12.2005.
Poruke: 6.785
Zahvalnice: 348
Zahvaljeno 1.893 puta na 1.078 poruka
Određen forumom Re: Mala pomoc iz PHP-a

Citat:
irreal kaže: Pregled poruke
bas kao sto sam i iz keca rekao, da proveris da li je ta funkcija dozvoljena.
Samo da pojasnim. file_get_contents nije ovde zabranjena već je PHP konfigurisan tako da ne dozvoljava fopen funkciji (koja je inače osnova svih wrapper funkcija za pristup resursima, lokalnim ili udaljenim) da kao argumente prima URL-ove što u principu znači da taj server ne može direktno da pristupi netu putem PHPa (osim ako nisu instalirane specijalne ekstenzije tipa curl itd.).

@Geomaster
Citat:
Geomaster kaže: Pregled poruke
PHP kod:
<?php
$country 
' ';
$IP $_SERVER['REMOTE_ADDR'];
if (!empty(
$IP)) {
$ch curl_init(); 
curl_setopt($chCURLOPT_URL'api.hostip.info/get_html.php?ip='.$IP); 
 
//vraca zemlju kao string (povratna vrednost curl_exec
curl_setopt($chCURLOPT_RETURNTRANSFER1); 

$country curl_exec($ch); 

}
?>
Nemoj nikada da izostavljaš protkol kada navodiš argument za CURLOPT_URL parametar jer će u tom slučaju cURL pokušati da pogodi koji protokol pokušavaš da koristiš a to može da bude problematično ako na jednom te istom serveru imaš "osluškivače" za više različitih protokola tipa HTTP, FTP itd. Dakle uvek ide nešto ovog tipa:
PHP kod:
curl_setopt($chCURLOPT_URL'http://api.hostip.info/get_html.php'); 
holodoc je offline   Odgovor sa citatom ove poruke
Sledećih 2 korisnika se zahvaljuje korisniku holodoc na korisnoj poruci:
Geomaster (10.2.2010), mirkan03 (10.2.2010)
Stara 10.2.2010, 10:17   #14
mirkan03
Član
 
Član od: 4.3.2008.
Poruke: 48
Zahvalnice: 21
Zahvaljeno 0 puta na 0 poruka
Određen forumom Re: Mala pomoc iz PHP-a

Hvala vam svima na pomoci. Pokusacu sa Google Analytics, pa cu od sada da se bolje respitam za hosting usluge i podesavanja servera i sl..
mirkan03 je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Tagovi
php, pomoc

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
PS3 iz usa... Pomoc sasabl Konzole 8 20.4.2009 15:44
Molim, samo mala pomoc....... dzena ŠDK - Osnovne komponente 22 13.8.2008 8:25
mala pomoc Firebolt Šta da kupim? 4 29.6.2007 0:47
Potrebna mala pomoc za Corel noskich Grafički softver i radovi 11 16.6.2007 21:29
Mala pomoc oko projekta u Delphiju... Daky Programiranje 22 13.6.2007 22:33


Sva vremena su po Griniču +2 h. Sada je 22:00.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2019, vBulletin Solutions, Inc.
Hosted by Beograd.com