Rozdział 20.
Fora internetowe to niezwykle popularna forma wymiany informacji i poglądów pomiędzy użytkownikami sieci. W internecie znajdziemy liczne projekty realizujące tego typu zadania, wystarczy wspomnieć np. bardzo popularny swego czasu phpBB. Tego typu projekty są zazwyczaj bardzo rozbudowane i zawierają wiele najrozmaitszych funkcjonalności. W tym rozdziale przekonamy się jednak, że stworzenie prostego forum wcale nie wymaga pisania setek czy tysięcy linii kodu.
Założeniem naszego projektu będzie zatem zachowanie funkcjonalności umożliwiającej wymianę informacji i dyskusji na różne tematy, przy możliwie dużej prostocie realizacji. Użytkownicy będą więc mogli zakładać nowe wątki na forum i odpowiadać na znajdujące się na nim posty innych użytkowników. Wiadomości z każdego tematu będą wyświetlane płasko, w postaci listy, zrezygnujemy natomiast z prezentacji informacji w postaci struktury drzewiastej (co skomplikowałoby kod przetwarzający i prezentujący dane). Przyjmiemy, że przeglądanie forum będzie możliwe dla każdej osoby odwiedzającej naszą witrynę, natomiast pisanie na forum zostanie udostępnione tylko załogowanym użytkownikom.
System logowania zapożyczymy z rozdziału 17., niezbędne będzie bowiem przechowywanie w zmiennej sesji o nazwie User Id identyfikatora aktualnie załogowanego użytkownika. Kod strony głównej witryny będzie miał postać analogiczną do przedstawionej w rozdziale 15., zostanie do niego jedynie dodany odnośnik do skryptu forum. php. Będzie miał zatem postać przedstawioną na listingu 20.1.
Listing 20.1. Kod strony głównej serwisu — main.php
<?php session_start(): ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=1so-8859-2”> <titłe>Strona główna</title>
</head>
<body>
<table w1dth-"l00J" height="100r border=''l">
<tr height-"103">
<td align-"center" vridth-"60X">
Nagłówek strony