Bezpieczna oraz prosta w instalacji księga gości to jeden z najczęstszych obiektów poszukiwań młodych webmasterów, którzy z powodu braku doświadczenia i wiedzy (może też chęci) nie mogą takowej napisać samodzielnie. Postanowiłem wyjść na przeciw ich wątpliwości i napisać mały poradnik na temat tworzenia księgi gości za pomocą PHP.
Skrypt oparty o pliki tekstowe sobie podarujemy, gdyż takowy już raz publikowałem
<?php /* Autor: Komeniusz Plik ksiega.txt nalezy utworzyc recznie nadajac mu uprawnienia do odczytu i zapisu */ echo' <form action="" method="post"> <table border="2"> <tr><td>Nick:</td><td><input type="text" name="tytul" size="40" /></td></tr> <tr><td>Wpis:</td><td> <textarea name="wpis" cols=60 rows=10 wrap="virtual"></textarea> </td></tr> </table> <input type="submit" value="Wpisz sie!" /> </form> '; $tytul = $_POST['tytul']; $wpis = $_POST['wpis']; if($tytul && $wpis) { // są informacje do wpisania // skomplikowany wpis $ksiega[0] = "<h3>".$tytul."</h3><p>".$wpis."</p>rn"; if (file_exists("ksiega.txt")) { // już jest założony plik $i = 1; $plik = fopen ("ksiega.txt", "r+"); //odczyt danych flock ($plik, 2); while (!(feof($plik))) { $ksiega[$i++] = fgets ($plik, 2048); } $ilosc=$i; fseek ($plik, 0); // powrót do początku pliku for ($i=0; $i<$ilosc; $i++) { // i zapis fputs ($plik, "$ksiega[$i]"); } flock ($plik, 3); fclose ($plik); } else { // nie ma pliku, więc tworzymy nowy $plik = fopen ("ksiega.txt", "w+"); flock ($plik, 2); fputs ($plik, "$ksiega[0]"); flock ($plik, 3); fclose ($plik); } } echo'<h2>Ksiega gosci</h2><hr />'; if(file_exists("ksiega.txt")) { //jesli plik istnieje $plik = fopen ("ksiega.txt", "r"); while(!(feof($plik))) { echo(fgets ($plik, 2048)); } } ?>
Zajmiemy się zatem napisaniem księgi gości w oparciu o bazę danych MySQL.