Chciałbym Wam ofiarować gotowy, prosty skrypcik księgi gości. Zbudowałem go za pomocą rónych różniastych skryptów znalezionych w internecie (równie na tym forum). Po prostu potrzebowałem go dostosować do własnych potrzeb.
Jest oparty na pliku tekstowym.
plusy/minusy:
+ księgę można (a nawet trzeba) wkomponować w swoją stronę internetową, i NIE otwiera sie w nowym oknie tak jak chyba większość księg oferowanych na tym forum

+ jak ktoś nie umie, nie trzeba się pakować w bazy danych
+ wyświetla datę i godzinę dodania wpisu
+ wyświetla liczbę wszystkich wpisów
+ zabezpieczenie przed wysłaniem pustego formularza
+ gdy ktoś wpisze tekst, a nie podpisze się, jego nick wyświetli się jako "Gość"
+ zabezpieczenie przed wpisywaniem znaków html i php
- brak stronnicowania (pracuję nad tym)
- brak zabezpieczenia przed zbyt długim tekstem
część wyświetlająca:
Kod
<!-- plik ksiega.php -->
<center>
<p>
<span style="font-size:x-large;"><b>Księga gości</b></span>
</p>
</center>
<br />
<?
$nazwa = "baza.dat";
$myFile = fopen($nazwa, "r");
$i = -1;
while(!feof($myFile)) {
$myLine = fgets($myFile, 2000);
$i++;
}
fclose($myFile);
echo "<a href=\"index.php?id=dodaj\"><span style=\"font-weight: bold;\">Nowy wpis</span></a> Ilość wpisów w Księdze: $i<br /><br />";
$file = array_reverse( file('baza.dat') );
foreach($file as $key => $value)
{
list($imie, $tresc) = explode("|||", $value);
echo $imie .'<br />';
echo $tresc .'<br /><br />';
echo '<hr>';
}
echo "<a href=\"index.php?id=dodaj\"><span style=\"font-weight: bold;\">Nowy wpis</span></a><br /><br />";
?>
<center>
<p>
<span style="font-size:x-large;"><b>Księga gości</b></span>
</p>
</center>
<br />
<?
$nazwa = "baza.dat";
$myFile = fopen($nazwa, "r");
$i = -1;
while(!feof($myFile)) {
$myLine = fgets($myFile, 2000);
$i++;
}
fclose($myFile);
echo "<a href=\"index.php?id=dodaj\"><span style=\"font-weight: bold;\">Nowy wpis</span></a> Ilość wpisów w Księdze: $i<br /><br />";
$file = array_reverse( file('baza.dat') );
foreach($file as $key => $value)
{
list($imie, $tresc) = explode("|||", $value);
echo $imie .'<br />';
echo $tresc .'<br /><br />';
echo '<hr>';
}
echo "<a href=\"index.php?id=dodaj\"><span style=\"font-weight: bold;\">Nowy wpis</span></a><br /><br />";
?>
część dodająca (formularze):
Kod
<!-- plik dodaj.php -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" >
<title>Dodawanie wiadomości</title>
</head>
<body>
<form method="post" action="index.php?id=zapisz">
<div>
Imię: <input type="text" name="nick" /><br />
Treść:<br />
<textarea cols="35" name="pole" rows="12">
</textarea> <br />
<input type="submit" value="Wyślij"/>
</div>
</form>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" >
<title>Dodawanie wiadomości</title>
</head>
<body>
<form method="post" action="index.php?id=zapisz">
<div>
Imię: <input type="text" name="nick" /><br />
Treść:<br />
<textarea cols="35" name="pole" rows="12">
</textarea> <br />
<input type="submit" value="Wyślij"/>
</div>
</form>
</body>
</html>
część zapisująca:
Kod
<!-- plik zapisz.php -->
<META HTTP-EQUIV="Refresh" CONTENT="javascript:history.back()">
<?php
if($pole=="")
{
echo("<br /><br /><h4><b>Napisz coś;)<br /><br /><a href='javascript:history.back();'>Wstecz</a></b></h4>");
}
else {
$nick = $_POST['nick'];
$pole = $_POST['pole'];
$nick = HTMLSpecialChars($nick);
$anonim = "Gość";
if($nick=="") $nick = $anonim;
$pole = HTMLSpecialChars($pole);
$date = date("j.m.Y G:i");
$text = ereg_replace("\n", "<br />", $pole);
$wynik = '<b>'. $nick . '</b>'. " " . $date . '|||' .$text. "\n";
$plik ="baza.dat";
$fp = fopen($plik, "a");
fwrite ($fp, $wynik);
fclose($fp);
echo '<span style="font-size:small;"> <a href="index.php?id=ksiega" /> <b>Powrót</b></a></span><br />';
echo '<center><h2> Dzięki za wpis! </h2></center>';
}
?>
<META HTTP-EQUIV="Refresh" CONTENT="javascript:history.back()">
<?php
if($pole=="")
{
echo("<br /><br /><h4><b>Napisz coś;)<br /><br /><a href='javascript:history.back();'>Wstecz</a></b></h4>");
}
else {
$nick = $_POST['nick'];
$pole = $_POST['pole'];
$nick = HTMLSpecialChars($nick);
$anonim = "Gość";
if($nick=="") $nick = $anonim;
$pole = HTMLSpecialChars($pole);
$date = date("j.m.Y G:i");
$text = ereg_replace("\n", "<br />", $pole);
$wynik = '<b>'. $nick . '</b>'. " " . $date . '|||' .$text. "\n";
$plik ="baza.dat";
$fp = fopen($plik, "a");
fwrite ($fp, $wynik);
fclose($fp);
echo '<span style="font-size:small;"> <a href="index.php?id=ksiega" /> <b>Powrót</b></a></span><br />';
echo '<center><h2> Dzięki za wpis! </h2></center>';
}
?>
do pelni szczescia brakuje jeszcze pliku tekstowego ktory przechowuje wpisy: baza.dat , ktorego chmody musimy ustawic na 777.
wszystkie pliki powinny być w tym samym katalogu, sprawy katalogów juz sami sobie dostosujecie. u mnie jest tak, że pliki księgi są w katalogu głównym stronki (obok index.php), a księgę wywołuję przez odwołanie "include" w pliku index, w ten sposób:
<?php $id=$_GET['id']; if($id=="dodaj"){ include("dodaj.php"); } if($id=="ksiega"){ include("ksiega.php"); } if($id=="zapisz"){ include("zapisz.php"); } ?>
a tak to wszystko wygląda:

(tło się wzięło oczywiście z mojej strony internetowej)
pozdr!
Witu