Nazis Posted November 1, 2004 Report Share Posted November 1, 2004 ar PHP aizraavies esmu visnotalj nesen, laikam buus tik kaads meenesis pagaajis :). Luuk mana probleema, man ir viesugraamata, kuraa ierakstot paraadaas lietotaaja IP adrese, izmantojot sekojoshu funkciju: <?php function GetIP(){ if (@getenv("HTTP_CLIENT_IP") && @strcasecmp(@getenv("HTTP_CLIENT_IP"), "unknown")) $ipxx = @getenv("HTTP_CLIENT_IP"); else if (@getenv("HTTP_X_FORWARDED_FOR") && @strcasecmp(@getenv("HTTP_X_FORWARDED_FOR"), "unknown")) $ipxx = @getenv("HTTP_X_FORWARDED_FOR"); else if (@getenv("REMOTE_ADDR") && @strcasecmp(@getenv("REMOTE_ADDR"), "unknown")) $ipxx = @getenv("REMOTE_ADDR"); else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && @strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) $ipxx = $_SERVER['REMOTE_ADDR']; else $ipxx = "unknown"; return($ipxx); } $ip=GetIP($ipxx); ?> tad es to ip adresi izvadu uz ekraana un nolasu pieshkjirot jaunam mainiigajam: <?php echo GetIP(); $ipadrese = GetIP(); ?> tagad es veelos, lai nolasiitaa IP adrese tiktu izvadiita administratora logaa pie tai atbilstoshaa komentaara, bet man nekaadiigi nesanaak, jo tiek izvadiita pie visiem komentaariem taa IP adrese, pie kuras pashlaik atrodos izvadiishanai es izmantoju masiivu ar nolasiitajaam veertiibaam: if (isloggedin()) //ja ielpgojies kaa admins $replace=array( ($post['email']!="") ? "<a href='mailto:".emailencoder($post['email'])."'>".$post['name']."</a>" : $post['name'], bla bla bla); iespeejams, ka kaut ko neesmu sapratis liidz galam, taapeec veeleejos uzzinaat, kaa juus riikojaties liidziigaas situaacijaas, manaa situaacijaa nav mysql, viss tiek glabaats kaa *.txt, liidziigus piemeerus esmu maniijis ar mysql iespeeju, bet tie neder manaa situaacijaa. ar cienju, Nazis Link to comment Share on other sites More sharing options...
bubu Posted November 1, 2004 Report Share Posted November 1, 2004 Saglabā to IP adresi pie paša posta txt failā, tāpat kā epastu vai citus lietotāja datus. Un tad, kad izvadi to postu, tad izvadi arī to lietotāja IP kopā ar citiem datiem. Link to comment Share on other sites More sharing options...
neonz Posted November 6, 2004 Report Share Posted November 6, 2004 1) Loģiski, ka tiek izvadīta pašreizējā IP, nevis komentētāja IP, jo tu no vides mainīgijiem savāc tekošo IP un mēģini šamo attēlot. Lai dabūtu komentētāja IP, tev tas IP ir jāglabā tur pat, kur glabā pašus viesugrāmatas ierakstus. 2) Iesaku tev tos getenv() aizstāt ar $_SERVER, būs ātrāk. Jo getenv() ir funkcija, savukārt $_SERVER - gatavs masīvs. Tb, raksti nevis @getenv("HTTP_CLIENT_IP"), bet $_SERVER['HTTP_CLIENT_IP']. Link to comment Share on other sites More sharing options...
Recommended Posts