PIAST OPOLE — GOTOWA STRONA PHP ================================ 1. WYMAGANIA Hosting z PHP 8.1 lub nowszym, rozszerzeniem fileinfo, sesjami i możliwością zapisu w folderach storage oraz uploads. Zalecany Apache 2.4 z obsługą .htaccess. Nie wymaga MySQL, Composer, Node.js ani budowania projektu. Włącz certyfikat SSL dla piastaopoletenis.pl w panelu hostingu. 2. CO WRZUCIĆ NA HOSTING Wyślij ZAWARTOŚĆ katalogu public_html do katalogu WWW domeny (zwykle public_html, www albo httpdocs). Nie wysyłaj nadrzędnego folderu piast-opole ani tej instrukcji. Włącz pokazywanie ukrytych plików w programie FTP — pliki .htaccess są potrzebne. Po wejściu na domenę powinien otworzyć się index.php. Nie otwieraj PHP przez file:// ani VS Code Live Server — potrzebny jest serwer PHP. 3. PIERWSZE KONTO ADMINISTRATORA Otwórz https://piastaopoletenis.pl/admin/ Wpisz poniższy indywidualny klucz instalacyjny: PRXQ7GhId0zkgnwcMFcaJHLQCK8GlnM1 Ustaw swój login oraz silne hasło (12–72 znaki). Zachowaj je w menedżerze haseł. Po utworzeniu konta instalacja jest automatycznie blokowana. To jest klucz instalacyjny, NIE domyślne hasło. Instrukcji nie publikuj w WWW. Możesz zmienić klucz przed instalacją w app/config.php. 4. UZUPEŁNIJ PRZED UDOSTĘPNIENIEM STRONY W panelu administratora: - Ustawienia: telefon, e-mail, adres, opis akademii i przedstawienie zespołu. - Wklej pełny link https:// do Waszej akademii w TennisFinalsPro. - Cennik: nazwa, kwota z jednostką i warunki. Pusta nazwa usuwa pozycję. - Aktualności: tytuł, data, treść, zdjęcie; zaznacz publikację albo zostaw szkic. - Galeria: zdjęcia JPG / PNG / WebP do 6 MB, maks. 24 megapiksele. - Uzupełnij prywatnosc.php o właściwe dane i rzeczywiste zasady klubu. Obecna treść jest startowa; pełna informacja wymaga danych klubu i hostingu. Nie wpisano wymyślonych cen ani danych kontaktowych. Bez linku rezerwacje prowadzą do sekcji kontakt. Nie ma formularza mailowego ani płatności — obsługa zapisów ma odbywać się w Waszym istniejącym TennisFinalsPro. Nazwiska i zdjęcia trenerów dodaj do opisu zespołu oraz galerii; profilowe karty poszczególnych trenerów nie są osobnym modułem w tej wersji. 5. ZAPIS / UPRAWNIENIA Foldery storage i uploads muszą być zapisywalne przez PHP. Zwykle wystarczy 755; na części hostingów 775. Nie ustawiaj uprawnień 777. Dane są zapisywane w storage/data.php, a obrazy w uploads. Dla Nginx administrator hostingu powinien blokować URL /app/ i /storage/, wyłączyć wykonywanie PHP w /uploads/ oraz listowanie katalogów. Nginx nie czyta .htaccess. Konfiguracja Apache jest dołączona w paczce. Jeśli .htaccess powoduje błąd 500, poproś hosting o weryfikację dyrektyw Options oraz AllowOverride zamiast usuwać ochronę katalogów. Włącz przekierowanie HTTP -> HTTPS w panelu hostingu. Jeżeli masz już .htaccess z własnymi regułami, połącz konfigurację — nie nadpisuj w ciemno ustawień innej aplikacji. 6. STRUKTURA PROJEKTU — OTWÓRZ FOLDER public_html W VS CODE index.php strona główna i sekcje prywatnosc.php informacja o prywatności do uzupełnienia admin/index.php logowanie i zarządzanie app/bootstrap.php zapis danych, sesje, walidacja i funkcje app/config.php klucz pierwszej instalacji assets/css/style.css wygląd strony i wersja mobilna assets/css/admin.css wygląd panelu assets/css/sport.ttf lokalna czcionka Anton (licencja OFL obok pliku) assets/js/main.js menu mobilne, animacje, powiększanie galerii assets/images/ oryginalne logo i fotografia kortów uploads/ przesłane zdjęcia storage/ prywatne dane strony i konta 7. KOPIE ZAPASOWE / AKTUALIZACJE Regularnie kopiuj CAŁE storage i uploads oraz zachowaj konfigurację. Dane zawierają hash hasła — kopie przechowuj prywatnie. Przy aktualizacji kodu nie nadpisuj storage ani uploads. Usunięcie zdjęcia z galerii usuwa jego wpis, a nie fizyczny plik (może być używany w aktualnościach). Nieużywane pliki można skasować przez FTP po kopii. W tej wersji nie ma resetowania hasła e-mailem ani wielu administratorów. Zmiana hasła jest w panelu. Gdy zapomnisz hasła, przywróć kopię lub poproś o pomoc — nie usuwaj całego pliku danych, bo zawiera też treści strony. 8. WYGLĄD I MATERIAŁY Hero odtwarza zaakceptowany kierunek: centralna typografia sportowa, granat, żółć, zdjęcie kortów, przyciski i ukośne akcenty. To kod HTML/CSS, a nie płaski obraz makiety, więc układ dostosowuje się do ekranu. Czcionka jest lokalna. Logo i zdjęcie pochodzą z załączonych materiałów; używaj ich zgodnie z prawami klubu. Przed publikacją zdjęć zawodników upewnij się, że możesz je opublikować. 9. SPRAWDŹ NA SWOIM HOSTINGU Wejdź na stronę na komputerze i telefonie. Utwórz konto, zapisz telefon i link, zmień cenę, opublikuj wpis testowy, dodaj zdjęcie, wyloguj się i sprawdź rezultat. Przy błędzie 500 sprawdź dziennik błędów hostingu (nie jest wyświetlany publicznie).