Autor Zpráva
mrazik
Profil *
<?
$ip = $_SERVER['REMOTE_ADDR'];
$cas = Date("d.m.Y o H:i:s, v l");
$zapis = $cas . ", " . $ip . "<br>\n";
$fn1 = "ip.php";

$part=substr($ip, 0, 6);
switch($part){
case "127.0": /* localhost */
exit;
break;

case "80.25": /* monitoring servreru */
exit;
break;
}

if (file_exists($fn1)):
$fp1 = fopen($fn1,"a");
fwrite($fp1,$zapis);
fclose($fp1);
else:
$fp1 = fopen($fn1,"w");
fwrite($fp1,$zapis);
fclose($fp1);
endif;

?>


prosim vas, muzu se zeptat proc mi taky zapisuje IP, ktere mam ve vynimkach?
chci zapisovat vsechni ostatni.

dekuji.
Joker
Profil
$part=substr($ip, 0, 6);
vezme prvních 6 znaků z IP adresy. Takže to určitě nebude odpovídat ani "127.0" ani "80.25", což je 5 znaků.
tiso
Profil
Asi nevieš rátať do 6:
$part=substr($ip, 0, 6); (6 znakov)
"127.0", "80.25" (5 znakov)

Joker - ani ty nevieš rátať?
Manq
Profil
ani "127.0", což jsou 4 znaky
Určitě?
Joker
Profil
tiso, Manq
A no jo :-) Opraveno.
mrazik
Profil *
aha, a ako to mam teda urobit? ... ked viem ze co ta mam zle :)
mrazik
Profil *
da sa dat nieco akoze, po po druhu bodku :) ?
mrazik
Profil *
pretoze, ked dam 5 znakov, tak mi moze ale urobit 232.234 oreze na 232.2 a potom nevpusti ani z 232.2** co nechcem ...
Smajlix
Profil *
zdravim,
připadá mi to nejrozumnější udělat přes regulérní výrazy

$_localhost = preg_match('/127\.0\.([^\.]+).([^\.]+)/',$_SERVER[REMOTE_ADDR]);
$_monitoring = preg_match('/80.\.25\.([^\.]+).([^\.]+)/',$_SERVER[REMOTE_ADDR]);

if(!$_localhost && !$_monitoring){
 //funkce pro logovani
}


kdyz ti to preg_match hodi output 1 tak se to tam vyskytuje coz znamena ze je to true, kdyz se nevyskytuje, hodi nula = false -> kdyz ti to oboje hodi false, tak to zaloguje.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: