<div align="center"><b>KSIĘGA GOSCI</b><BR></DIV>
<TABLE width="70%" align="CENTER"><TR><TD>
<!-- cała księga jest w jednym pliku, w zależnoci od wywołania (parametr $id) wykonywana jest odpowiednia akcja
np. dla $id=1 jest wyswietlenie formularza słuzacego do dokonania wpisu; dla $id=2 wykonywany jest zapis danych
z formularza do księgi pamietanej w pliku tekstowym po uprzedniej weryfikacji danych; dla $id roznego od 1 i od 2 jest
po prostu wyswietlana ksiega -->
<? if ($id==1): ?>
<DIV class="styl"><BR><BR><BR><font size="4">Twój wpis do księgi:<BR><BR><BR></font>
<FORM ACTION="wzorbook.php?id=2" METHOD="POST">
Autor:
<INPUT TYPE="TEXT" SIZE="30" MAXLENGTH="30" style="background-color: #BBBBBB; font-family: Verdana; font-size: 12pt color: #00FF00" NAME="Autor"><BR><BR>
E-mail:
<INPUT TYPE="TEXT" SIZE="30" MAXLENGTH="30" style="background-color: #BBBBBB; font-family: Verdana; font-size: 12pt color: #00FF00" NAME="adres"><BR><BR>
www:
<INPUT TYPE="TEXT" SIZE="30" MAXLENGTH="30" style="background-color: #BBBBBB; font-family: Verdana; font-size: 12pt color: #00FF00" NAME="web"><BR><BR>
<font size="2">(pola e-mail i www mogą pozostać puste)</font><BR><BR>
<TEXTAREA NAME="Tresc" WRAP COLS=50 style="BACKGROUND-COLOR: #BBBBBB; font-family: Verdana; font-size: 12pt color: #00FF00" ROWS=5></TEXTAREA><BR><BR><BR>
<INPUT TYPE=SUBMIT VALUE= " Dopisz " style="BACKGROUND-COLOR: #333333; FONT-FAMILY : Verdana; FONT-SIZE : 12; color: #FFFFFF">
<INPUT TYPE="RESET" VALUE=" Wyczyść " style="BACKGROUND-COLOR: #333333; FONT-FAMILY : Verdana; FONT-SIZE : 12; color: #FFFFFF">
</FORM></DIV>
<? exit; endif; ?>
<? if ($id==2) {
if(($Autor=="") or ($Tresc=="")) // było jeszcze sprawdzanie pole e-mail, ale zrezygnowałem: or ($adres=="")
//jesli pole autor lub tresc jest puste pojawia sie komunikat monitujacy
{
print("<BR><BR><P class=\"styl\"><B>Nie wypełniłeś wszytkich pól !</B></P>");
print("<BR><BR><P class=\"styl\"><A HREF=\"wzorbook.php?id=1\">powrót do formularza</A></P>");
print("<P class=\"styl\"><A HREF=\"wzorbook.php\">powrót do księgi</A></P>");
exit;
}
//tu obrabia sie wpis przez usuniecie ewentualnych znakow niebezpiecznych,
//a enter zamienia sie na przejscie do nowej linii
$Tresc = ereg_replace("<","<", $Tresc);
$Tresc = ereg_replace(">",">", $Tresc);
$Tresc = ereg_replace("\n", "<BR>", $Tresc);
//wpisy ksiegi gosci pamietane sa w pliku o nazwie ksiazka.txt - oczywiscie mozna to zmienic
$nazwa = "ksiazka.txt";
//nie wysilalem sie z weryfikacja wpisanego przez goscia adresu wlasnej strony
//po prostu mozna tutaj wpisac tylko adres w ktorym wystepuje ciag znakow ".pl"
//moze jest to krzywdzace dla posiadaczy stron bez takich znakow w adresie,
//ale z pewnoscia uchroni to ksiege przed wpisem zlosliwego goscia np. http://dupa.jasiu
if (ereg(".pl", $web)) {
$web="moja strona: <a href=\"$web\" target='_blank'>$web</a><BR>";
}
else {
$web="";
};
//jak widac nizej wpis zawiera nie tylko dane wpisane przez goscia, ale takze rozmaite znaczniki
//HTML formatujace wpis do postaci przydatnej do natychmiastowego wyswietlenia.
//jest to rozwiazanie spotykane w wielu ksiegach gosci
if ($adres=="") {
$adres="nie podano adresu e-mail";
$wpis = "<I>".date("d.m.Y")." g. ".date("H.i")."</I><BR><B>$Autor<BR>$adres<BR>$web <BR></B> $Tresc\n";
}
else {
$wpis = "<I>".date("d.m.Y")." g. ".date("H.i")."</I><BR><B>$Autor<BR> <a HREF=\"mailto:$adres\">$adres</A> <BR>$web<BR></B> $Tresc\n";
};
$myFile = fopen($nazwa, "r+");
$wpis=$wpis.fread($myFile, filesize($nazwa));
rewind($myFile);
fputs($myFile, $wpis);
fclose($myFile);
print("<BR><BR><P class=\"styl\"><B>Dziękuję za wpis!</B></P><BR>");
print("<BR><BR><P class=\"styl\"><A href=\"wzorbook.php\">obejrzyj swój wpis</A></P>");
//w tym miejscu jest hiperlink do powrotu do strony glownej naszego serwisu np index.php lub index.htm itp.
print("<P class=\"styl\"><A href=\"index.php\">powrót do strony</A></P>");
}
else { //id nie równa się 1 ani 2
print "<P class=\"styl\"><B><BR><font color=#FF0000>aby się wpisać kliknij";
print "<A HREF=\"wzorbook.php?id=1\"> ";
print " >> tutaj <<</A>";
print ("<BR><font color=#000000>liczba wpisów w księdze (od 26.02.2002): ");
// zliczanie dotychczasowych wpisów
// tu istotny moment liczba 2000 lilka linii nizej okresla w przyblizeniu dlugosc calego wpisu
//ktory mozna dokonac. Jezeli gosc wpisze caly elaborat to moze on zostac podzielony na 2
//albo na wiecej wpisow w ksiedze, ktore beda wyswietlone jeden za drugim jakby byly to 2 wpisy
//jezeli liczba 2000 jest za mala to mozna ja zmienic
$nazwa = "ksiazka.txt";
$myFile = fopen($nazwa, "r");
$i=0;
while(!feof($myFile)) {
$myLine = fgets($myFile, 2000);
$i++;
}
fclose($myFile);
print(" $i<BR><BR></B></font>"); // drukowanie liczby wpisow;
print "<HR color=#0000FF width=\"500\"><BR>";
$nazwa = "ksiazka.txt";
$myFile = fopen($nazwa, "r");
$k=1;
$end=$st+9;
while(!feof($myFile)) // dopóki nie jest koniec pliku - drukowanie po jednym wpisie (1 wpis = 1 linia pliku
{ // ale 1 linia pliku ma już w sobie format w jakim jest drukowana - zajmuje kilka linii)
$myLine = fgets($myFile, 2000);
if ($k>=$st) {
if ($k<=$end) {
print("<P class=\"styl\">$myLine</P><HR width=\"500\" color=#0000FF><BR>");
};
};
$k++;
}
//wpisy w ksiedze sa wyswietlane "w dawkach" po 10 sztuk na jednej stronie;
//kolejne wpisy sa dostepne na innych stronach ksiegi, do ktorych mozna wejsc
//przez hiperlinki u dolu strony
fclose($myFile);
print("<P class=\"styl\"><B><font color=#000000>inne strony księgi<BR>");
$ile=floor($i/10); //obliczenie iloci stron ksiegi
$ctpage=floor($st/10)+1; //numer strony biezacej
for ($z=0;$z<=$ile;$z++) {
$y=$z+1; //numery stron sš od 1 a nie od 0
if ($y==$ctpage) {print ("<FONT color=#000000> $y ");} //piszemy numer biezacej strony nie jako hiperlink
else {print ("<A HREF=\"wzorbook.php?st=".$z."1\"> $y </A>");} //numery innych stron to hiperlinki
};
} //koniec od else
?>
</TD></TR></TABLE>