410 PHP i MySQL dla każdego
410 PHP i MySQL dla każdego
</tr>
<tr height="10r>
href=\"stats.php\”>statystyki</a>."): ?>
<td align-"center" colspan-"2"> <?echo $stats_info: ?>
<?php echo(“<BR>Zobacz pozostałe </td>
</tr>
</table>
</body>
</html>
Na początku kodu definiowane są zmienne timeout oraz statsjinfo. Pierwsza z nich będzie określać czas (w minutach), w jakim mają być zliczane odwiedziny użytkowników, druga — ciąg znaków opisujących tę informację w postaci gotowej do wyświetlenia na stronie. W pierwszej części jest także dołączana do kodu treść pliku mysql_ functions.php oraz jest rozpoczynana sesja. Zmiennej stats_i nfo na początku jest przypisywany pusty ciąg znaków.
Po wykonaniu wymienionych czynności wstępnych jest wywoływana funkcja makeDB-Connection, która nawiązuje połączenie z bazą danych. Jeśli udało się nawiązać połączenie, czyli jeśli makeDBConnection zwróciła wartość true, jest sprawdzane, czy są ustawione zmienne sesyjne statRecordld i załogowany. Jeśli żadna z nich nie jest ustawiona, oznacza to, że należy dokonać wpisu w tabeli Stats. Pobieramy zatem adres IP (odczytując go z tablicy $_SERVER), identyfikator przeglądarki (getBrowserType) oraz identyfikator systemu operacyjnego (wywołując funkcję getSystemType). Dane te zapisujemy w bazie wywołując funkcję addStatRecord, a wynik jej działania przypisujemy zmiennej sesji statRecordld.
Niezależnie od tego, czy do tabeli Stats został dodany nowy rekord, czy też nie, pobieramy następnie dane określające liczbę ostatnich gości na stronie. Wywołujemy więc funkcje getKnownUsers oraz getAl 1 Users, a wyniki ich działania przypisujemy zmiennym pomocniczym knownUsers i allUsers. Wartości tych zmiennych są następnie wykorzystywane do utworzenia ciągu znaków z informacją, która będzie wyświetlana na stronie. Utworzony ciąg jest przypisywany zmiennej stats_info. Połączenie z bazą jest następnie zamykane za pomocą wywołania funkcji mysql_close i tym samym część skryptu współpracująca z bazą danych kończy działanie.
Dalsza część skryptu to kod HTML przeplatany niewielkimi fragmentami kodu PHP. Podział strony na poszczególne sekcje jest uzyskiwany za pomocą tabeli HTML generowanej znacznikami tabl e, tr i td. W komórce znajdującej się w prawym górnym rogu umieszczane są informacje o tym, czy dany użytkownik jest załogowany, czy nie. Odpowiada za to fragment kodu PHP, który sprawdza, czy jest ustawiona zmienna sesji załogowany. Jeśli jest, jej zawartość (czyli nazwa załogowanego użytkownika) jest wyświetlana na stronie, a pod tą nazwą odnośnik umożliwiający wylogowanie. Jeśli natomiast zmienna załogowany nie jest ustawiona, jest wyświetlana informacja o nieza-logowaniu oraz odnośnik do strony logowania.
W dolnej komórce tabeli są wyświetlane informacje o liczbie osób odwiedzających stronę. Ponieważ informacja ta została przypisana w poprzedniej części kodu zmiennej statsjinfo, za pomocą instrukcji echo jest po prostu wyświetlana na ekranie. Dodatkowo