Proste forum / księga gości w PHP
Wstęp
Prawie każdy kto posiada swoją stronę, chciałby mieć na swojej stronie forum lub księgę gości. Można oczywiście pójść prostszą drogą - skorzystać z gotowych skryptów lub bardzo skomplikowanych forum. Jednak moim zdaniem o wiele ciekawiej jest napisać samemu nawet bardzo proste forum i później dostosować je do własnych potrzeb.
W tym artykule pokażę Ci w jaki sposób stworzyć właśnie takie bardzo proste forum. Forum będzie na prawdę bardzo proste - nie będzie nawet sprawdzana poprawność danych oraz to, czy w ogóle wprowadzono jakieś dane - wszystko to po to, aby ułatwić zrozumienie przykładu.
Ten sam skrypt zostanie przedstawiony w dwóch wersjach:
- wersji "wieloplikowej"
- wersji "jednoplikowej"
Mimo, że nazwa może być myląca - same dane przechowywane są w jednym pliku. To skrypt, w zależności od wersji, jest przechowywany w jednym pliku lub rozsiany po kilku plikach.
Mimo, że skrypt został przetestowany, to nie odpowiadam za jakiekolwiek szkody wywołane przez jego użycie, w tym utratę danych. Dlatego jeśli zastosujesz skrypt oparty na tym tu przedstawionym, pamiętaj, aby regularnie wykonywać kopie bezpieczeństwa danych.
UWAGA: Z związku z łamaniem linii, po przepisaniu linijka w linijkę kodów, mogą one nie do końca działać. Jednak wszystkie poprawne działające pliki są umieszczone w archiwum ZIP na końcu tego artykułu.
Wprowadzenie
Przede wszystkim warto zastanowić się, jakie dane chcemy uwzględnić w naszym prostym forum.
Załóżmy, że użytkownik podaje: tytuł wiadomości, swoje imię oraz treść wiadomości. W tym prostym forum założymy, że użytkownik nie jest złośliwy - nie pozostawi pól pustych oraz, że nie będzie usiłował wpisać kodu html lub kodu innych skryptów.
Idea forum jest następująca:
- do pliku tekstowego będziemy zapisywać dane, które wprowadził użytkownik. Wszystkie dane forum będziemy zapisywać do jednego pliku
- musimy w jakiś sposób oddzielić poszczególne elementy danych, tzn. tytuł, imię i temat - można to zrealizować na różne sposoby. My założymy, że każda dana będzie zapisywana w nowej linii pliku - dzięki temu realizacja forum będzie bardzo prosta
- ponieważ założyliśmy, że w naszym pliku z danymi, poszczególne dane będą oddzielane znakiem nowej linii, to nie możemy dopuścić do tego, aby użytkownik wstawił nowe linie (wtedy nasze forum by się "zepsuło"). Z drugiej jednak strony, chcemy pozwolić użytkownikowi wstawiać puste linie, aby wypowiedź była czytelniejsza. Aby rozwiązać ten problem skorzystamy z wbudowanych funkcji PHP