Jak napisać księgę gości?

Mar 22
2010

ksiegaBezpieczna 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.

Czytaj dalszą część wpisu »