Zapis IP do TXT

Ahoj, potreboval bych poradit zda a jak upravit tento scriptik: http://www.pcsvet.cz/art/article.php?id=3416
ABY ZAPISOVAL IP DO SOUBORU - visitors.txt - Diky moc
nevím, co je na tom webu, ale seznam ip jednoduše uložíš asi takto:

$nazev="ipadresy.log";
$soubor = fopen($nazev, 'a+');
fwrite($soubor,$_SERVER['REMOTE_ADDR']."\n");
fclose($soubor);
create table Celkem (
Pocet int null
);

Tabulka o měsíční návštěvnosti:

create table Mesicni (
Mesic varchar(10) not null,
Pocet int null,
PRIMARY KEY(Mesic)
);

Tabulka pro ukládání denní návštěvnosti:

create table Dnes (
Datum date not null,
Pocet int null,
PRIMARY KEY(Datum)
);

Tabulka pro ukládání počtu návštěv na IP Adresu:

create table Host (
IP varchar(20) not null,
Datum date null,
Pocet int null,
PRIMARY KEY(IP)
);




Samotný kód počítadla
A teď už přistoupíme k samotnému kódu. Nejprve je nutné se připojit databázovému serveru a vybrat databázi, se kterou budeme pracovat!

$spojeni = MySQL_Connect("server", "login", "password");
MySQL_Select_DB("databáze");


Poté nadeklarujeme potřebné proměnné:

$ipadresa = $REMOTE_ADDR;
// proměnná obsahující IP adresu návštěvníka
$dnesnidatum = Date("Y-m-d");
// proměnná obsahující dnešní datum v potřebném formátu
$mesic = Date("m");
SetType($mesic, "integer");
// deklarace proměnné, obsahující číslo měsíce a přetypování na integer
$rok = Array(1=>"Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec");
// pole obsahující názvy měsíců
$result = Array();
// pole výsledků
$counter = Array();
// pole obsahující zpočítaná data
$month = $rok[$mesic];
// název aktuálního měsíce


Pak musíme zjistit, jestli máme počítat návštěvu, respektive jestli již návštěvník s danou IP adresou ten den na stránkách nebyl, potom bychom počítali jen návštěvu IP adrese:

$result[0] = MySQL_Query("SELECT * FROM Host WHERE IP='".$ipadresa."'");
$host = MySQL_Fetch_Object($result[0]);
$poslednipristup = $host->Datum;
// zjistíme, zda již IP adresa v tabulce je:
if ($poslednipristup==""):
$pocitat=true;
MySQL_Query("INSERT INTO Host VALUES('".$ipadresa."', '".$dnesnidatum."',1)");
// pokud ne, vložíme ji
else:
// zjistíme, zdali návštěvník ten samý den nebyl na stránce
if ($poslednipristup!=$dnesnidatum):
$pocitat = true;
MySQL_Query("UPDATE Host SET Datum = '".$dnesnidatum."', Pocet = Pocet+1 WHERE IP = '".$ipadresa."'");
// pokud ne, připočteme návštěvu IP adrese a uložíme aktuální datum
else:
$pocitat=false;
MySQL_Query("UPDATE Host SET Pocet = Pocet+1 WHERE IP = '".$ipadresa."'");
// jinak připočteme návštěvu IP adrese a nepočítáme jiné přístupy
endif;
endif;


Následuje část, která zajistí počítání přístupů:

if ($pocitat):
// zjistíme, zdali máme počítat
$result[1] = MySQL_Query("SELECT * FROM Celkem");
if (MySQL_Num_Rows($result[1])!=0):
$counter[0] = MySQL_Result($result[1],0)+1;
MySQL_Query("UPDATE Celkem SET Pocet = Pocet+1");
else:
$counter[0] = 1;
MySQL_Query("INSERT INTO Celkem VALUES(1)");
endif;
$result[2] = MySQL_Query("SELECT * FROM Mesicni WHERE Mesic = '$month'");
$aktmesic = MySQL_Fetch_Object($result[2]);
$counter[1] = $aktmesic->Pocet+1;
if ($counter[1]==1):
MySQL_Query("INSERT INTO Mesicni VALUES('$month',1)");
else:
MySQL_Query("UPDATE Mesicni SET Pocet = Pocet+1 WHERE Mesic = '$month'");
endif;
$result[3] = MYSQL_Query("SELECT * FROM Dnes WHERE Datum='$dnesnidatum'");
$zaznam = MySQL_Fetch_Object($result[3]);
$counter[2] = $zaznam->Pocet+1;
if ($counter[2] == 1):
MySQL_Query("INSERT INTO Dnes VALUES ('$dnesnidatum', 1)");
else:
MySQL_Query("UPDATE Dnes SET Pocet = Pocet+1 WHERE Datum = '$dnesnidatum'");
endif;
// pokud ano, připočteme všem hodnotám jednu a vrátíme výsledky v poli $counter
else:
$result[4] = MySQL_Query("SELECT * FROM Celkem");
$counter[0] = MySQL_Result($result[4],0);
$result[5] = MySQL_Query("SELECT * FROM Mesicni WHERE Mesic = '$month'");
$tentom = MySQL_Fetch_Object($result[5]);
$counter[1] = $tentom->Pocet;
$result[6] = MYSQL_Query("SELECT * FROM Dnes WHERE Datum='$dnesnidatum'");
$dnes = MySQL_Fetch_Object($result[6]);
$counter[2] = $dnes->Pocet;
// jinak jen načteme všechny hodnoty do pole $counter
endif;

Poslední část už jen slouží ke zobrazení hodnot počítadel:


$result[7] = MySQL_Query("SELECT * FROM Host WHERE IP = '".$ipadresa."'");
$counter[3] = MySQL_Result($result[7],0,2);
echo "Celkem: ".$counter[0]."<br>";
echo $month.": ".$counter[1]."<br>";
echo "Dnes: ".$counter[2]."<br>";
echo "IP: ".$counter[3]."
";