1. Co to jest CMS i po co go robić samemu?
- CMS (Content Management System) – system do łatwego zarządzania treścią bez edycji kodu strony.
- Własny CMS to dobra praktyka: uczysz się działania bazy, PHP/JS, kontroli dostępu oraz organizacji kodu.
- Podstawowe funkcje: dodawanie, edytowanie, usuwanie podstron, artykułów, grafik – przez panel www.
2. Projekt architektury i bazy danych
| Tabela | Pola |
| strony |
id, tytuł, zawartość, data_utworzenia, status |
| uzytkownicy |
id, login, haslo_hash, rola |
// Przykład tworzenia tabeli MySQL
CREATE TABLE strony (
id INT PRIMARY KEY AUTO_INCREMENT,
tytul VARCHAR(120),
zawartosc TEXT,
data_utworzenia DATETIME,
status ENUM('aktywny','ukryty')
);
3. Panel administracyjny – jak zrobić?
- Zbuduj formularz HTML do dodawania/edycji strony/artykułu (tytuł, tekst).
- Wykorzystaj PHP/Python/Node – po kliknięciu "Dodaj" zapisuje rekord do bazy.
- Wyświetl listę stron z opcją edycji/ukrycia/usunięcia.
- Zabezpiecz panel logowaniem i hasłem (np. PHP session).
// Dodawanie strony w PHP (fragment)
$stmt = $pdo->prepare("INSERT INTO strony (tytul, zawartosc) VALUES (?, ?)");
$stmt->execute([$_POST['tytul'], $_POST['zawartosc']]);
4. Dynamiczne wyświetlanie treści na stronie dla użytkownika
- Pobierz listę stron/artykułów z bazy w PHP/JS.
- Wyświetl każdą jako blok HTML (np.
<article>), wczytuj za pomocą pętli.
- Szablon oddziel kod PHP/JS od HTML/CSS dla przejrzystości.
// Przykład w PHP
$zapytanie = $pdo->query("SELECT tytul, zawartosc FROM strony WHERE status='aktywny'");
while($strona = $zapytanie->fetch()){
echo "
{$strona['tytul']}
{$strona['zawartosc']}";
}
5. Bezpieczeństwo i dostęp do panelu (dla INF.03!)
- Hashuj hasła (np. funkcja
password_hash()).
- Używaj sesji, by pilnować autoryzacji użytkownika.
- Waliduj i filtruj dane – unikaj XSS/SQL Injection (przygotowane zapytania).
- Dodaj role: autor/redaktor (różne możliwości edycji).
6. Najważniejsze funkcje prostego CMS
- Dodawanie/edycja/usuwanie podstron, artykułów przez panel www.
- Logowanie z różnymi rolami (np. administrator, redaktor).
- Responsywny szablon – strona działa na telefonie.
- System publikacji/wyświetlania/archiwizacji treści.
Wskazówki praktyczne
- Zacznij od małej liczby funkcji: dodawanie, edycja, usuwanie, wyświetlanie.
- Ucz się na kodzie open source: np. Mini-CMS PHP lub Flat-File CMS.
- W kolejnych wersjach dodaj system komentarzy/galerie/logowanie przez e-mail.
- Testuj panel na różnych urządzeniach i sprawdzaj czy wszystkie funkcje działają.