Zaliczenie PHP
Pomysł 1
Zadaniem jest stworzenie strony w języku PHP z wykorzystaniem bazy danych, która umożliwia rejestracje nowych użytkowników, logowanie do systemu i wylogowanie z konta. Po zalogowaniu użytkownik powinien mieć dostęp do przynajmniej jednej strony do której nie miałby dostępu nie zalogowany. Baza danych powinna zawierać dane użytkownika np. login hasło data rejestracji. Całość ma być wykonana estetycznie.
Pomysł 2
Celem projektu jest stworzenie prostej aplikacji internetowej w PHP, o dowolnie wybranym temacie, wykorzystującej bazę danych do obsługi użytkowników. Strona ma umożliwiać rejestrację nowych kont, logowanie oraz bezpieczne wylogowanie. Po zalogowaniu użytkownik powinien zostać przekierowany do własnego panelu, w którym prezentowane będą podstawowe informacje o jego koncie.
Na stronie głównej powinno znajdować się powitanie oraz możliwość przejścia do formularza logowania lub rejestracji. Interfejs powinien być przejrzysty i estetyczny, a system ma wyświetlać jasne komunikaty dotyczące powodzenia lub błędów podczas wykonywania operacji.
Projekt wymaga połączenia z bazą danych, w której przechowywane będą informacje o użytkownikach, takie jak login, zabezpieczone hasło oraz data rejestracji. Struktura plików powinna być logiczna — osobno strona główna, moduł rejestracji, logowania, panel użytkownika oraz wylogowania, a całość ma posiadać spójny wygląd graficzny.
Pomysł 3
System obejmuje jednolitą podstronę, na której użytkownik może zarówno się zalogować, jak i zarejestrować, korzystając z prostego formularza (nazwa użytkownika + hasło).
Po pomyślnym zalogowaniu użytkownik nie musi ponownie podawać danych — sesja pozostaje aktywna
Po zalogowaniu przycisk „Zaloguj się” automatycznie zmienia się na wyświetlaną nazwę użytkownika, co pozwala łatwo sprawdzić, czy użytkownik jest aktualnie zalogowany.
Pomysł 4
Naszym pomysłem na projekt php jest forum internetowe. Strona internetowa internetowa będzie zawierać stronę główną z funkcją logowania i profil użytkownika z możliwością wysłania zdjęcia profilowego.
Do postów możliwe będzie dodawanie komentarzy.
Pomysł 5
Stwórz prostą aplikację internetową "Rejestrator", która składa się z jednego pliku PHP. Aplikacja ma umożliwiać dodanie nowego użytkownika do bazy danych oraz wyświetlać listę wszystkich zarejestrowanych osób poniżej formularza.
Termin: 19.12.2025r. 23:59
Opinie
Ćwiczenie 1: Detektyw kodu
Kod:
PHP
$liczba = 10;
if ($liczba > 5) {
echo "Liczba jest większa niż 5 <br>";
if ($liczba < 15) {
echo "Liczba jest mniejsza niż 15 <br>";
}
} else {
echo "Liczba jest mniejsza lub równa 5 <br>";
}
echo "Koniec programu";
Pytania:
Jaka będzie wartość zmiennej $liczba na początku programu?
Który blok kodu zostanie wykonany: ten w instrukcji if czy ten w instrukcji else? Dlaczego?
Czy instrukcja if wewnątrz pierwszej instrukcji if zostanie wykonana? Uzasadnij.
Jaki tekst zostanie wyświetlony na ekranie po wykonaniu tego kodu? Zapisz go dokładnie w takiej kolejności, w jakiej się pojawi.
Ćwiczenie 2: Blokowy labirynt
Start
Wprowadzenie liczby
Sprawdzenie, czy liczba jest większa od 10 (instrukcja warunkowa)
Jeśli tak, wyświetlenie "Liczba jest większa od 10"
Jeśli nie, sprawdzenie, czy liczba jest równa 10 (kolejna instrukcja warunkowa)
Jeśli tak, wyświetlenie "Liczba jest równa 10"
Jeśli nie, wyświetlenie "Liczba jest mniejsza od 10"
Koniec
Pytania:
Co robi ten algorytm? Opisz jego działanie swoimi słowami.
Jakie instrukcje sterujące zostały użyte w tym schemacie blokowym?
Co się stanie, jeśli na wejściu podamy liczbę 7? Prześledź działanie algorytmu krok po kroku.
A co się stanie, jeśli podamy liczbę 10?
Ćwiczenie 3: Zgadywanka liczbowa
Wyobraź sobie, że gram z Tobą w grę "zgadywanka". Wylosowałem liczbę z zakresu od 1 do 20. Twoim zadaniem jest ją odgadnąć.
Twoje próby i moje odpowiedzi:
Próba 1: 12 -> "Za dużo!"
Próba 2: 5 -> "Za mało!"
Próba 3: 8 -> "Za mało!"
Próba 4: 10 -> "Zgadłeś!"
Pytania:
Jaką strategię zastosowałeś, aby odgadnąć liczbę?
Jak komputer mógłby wykorzystać instrukcje sterujące (pętle i instrukcje warunkowe), aby zagrać w tę grę? Opisz to słownie.
Ćwiczenie 4: Sortowanie bąbelkowe
Wyobraź sobie, że masz listę liczb: 5, 2, 8, 1, 4. Chcesz je posortować od najmniejszej do największej. Będziesz to robił ręcznie, używając metody sortowania bąbelkowego.
Sortowanie bąbelkowe polega na porównywaniu sąsiednich elementów i zamienianiu ich miejscami, jeśli są w złej kolejności.
Pytania:
Opisz krok po kroku, jak posortowałbyś tę listę liczb metodą sortowania bąbelkowego.
Ile porównań i zamian miejsc wykonałeś?
Jak można by zapisać algorytm sortowania bąbelkowego w języku PHP, używając pętli i instrukcji warunkowych? (Nie musisz pisać kodu, wystarczy opis słowny).
Różnica między or i xor
Operator lub (or)
PHP
$warunek1 = true;
$warunek2 = false;
// true, ponieważ $warunek1 jest prawdziwy
$wynik1 = $warunek1 or $warunek2;
// true, ponieważ oba warunki są prawdziwe
$wynik2 = (true or true);
// false, ponieważ oba warunki są fałszywe
$wynik3 = (false or false);
Operator albo (xor)
PHP
$warunek1 = true;
$warunek2 = false;
// true, ponieważ dokładnie jeden warunek jest prawdziwy
$wynik1 = $warunek1 xor $warunek2;
// false, ponieważ oba warunki są prawdziwe (nie "dokładnie jeden")
$wynik2 = (true xor true);
// false, ponieważ żaden warunek nie jest prawdziwy
$wynik3 = (false xor false);
Przykłady:
Zmienne
Przykład z życia: Zmienna to jak pudełko, do którego możesz włożyć różne rzeczy. Nazwa zmiennej to etykieta na pudełku, a wartość to to, co jest w środku.
Typy Skalarne
Boolean: Czy użytkownik jest zalogowany? (Tak/Nie)
Integer: Ile lat ma użytkownik?
Float: Jaka jest cena produktu?
String: Jakie jest imię i nazwisko użytkownika?
Typy Złożone
Array: Lista zakupów, gdzie każdy element ma swój numer (indeks)
Object: Opis samochodu, gdzie właściwości to marka, model, kolor, a metody to uruchom silnik, otwórz drzwi.
Typy Specjalne
Resource: Uchwyt do pliku, który otworzyliśmy, aby coś z niego odczytać lub do niego zapisać
NULL: Puste pole w formularzu, które użytkownik jeszcze nie wypełnił
Operatory
5 + 3 = 8
10 / 2 = 5
"Hello" . " " . "world!" = "Hello world!" (operator konkatenacji .)
$age >= 18 (sprawdzenie, czy użytkownik jest pełnoletni)
Zadania
1. Dopasowywanie - dopasuj zmienne do typów danych:
Zmienne:
$liczba_uczniow
$srednia_ocen
$czy_jest_pelnoletni
$imie_nazwisko
$cena_biletu
Typy danych:
Integer
Float
Boolean
String
2. Prawda czy fałsz:
W PHP nazwy zmiennych mogą zaczynać się od cyfry.
Typ danych NULL oznacza, że zmienna nie ma przypisanej żadnej wartości.
Operator = służy do porównania dwóch wartości.
Typ danych array służy do przechowywania kolekcji wartości.
PHP jest językiem statycznie typowanym.
3. Uzupełnianie luk:
W PHP nazwy zmiennych zawsze zaczynają się od znaku ___.
Typ danych ____ służy do przechowywania liczb całkowitych.
Operator ____ służy do sprawdzenia, czy dwie wartości są różne.
Typ danych ____ przechowuje wartość logiczną prawda lub fałsz.
Zmienna typu ____ może przechowywać adres strony internetowej
4. Krótkie odpowiedzi:
Wyjaśnij różnicę między typami danych integer i float.
Podaj przykład sytuacji, w której użyłbyś typu danych array.
Czym charakteryzuje się język dynamicznie typowany, taki jak PHP?
Jaka jest rola operatorów w PHP? Podaj przykład.
Co oznacza, że zmienna ma wartość NULL?
5. Scenariusze z życia:
Chcesz zapisać informacje o swoim ulubionym filmie (tytuł, rok produkcji, reżyser, ocena). Jakie typy danych i zmienne byś wykorzystał?
Tworzysz aplikację do śledzenia swoich wydatków. Jakie typy danych będą potrzebne do przechowywania informacji o każdej transakcji (data, kwota, kategoria)?
Chcesz sprawdzić, czy użytkownik podał poprawny wiek w formularzu rejestracyjnym (musi być pełnoletni). Jak to osiągnąć za pomocą zmiennych i operatorów?
Historia języka
PHP (skrót od Personal Home Page, a później Hypertext Preprocessor) to język programowania, który narodził się w 1994 roku. Jego twórcą jest Rasmus Lerdorf, który pierwotnie stworzył go jako zestaw skryptów w języku C do śledzenia odwiedzin na swojej stronie internetowej. Szybko zyskał popularność, ewoluując z prostego narzędzia do potężnego języka skryptowego po stronie serwera. Wersja PHP 3.0, wydana w 1998 roku, wprowadziła obiektowy model programowania, co znacząco zwiększyło jego możliwości. Kolejne wersje, w tym kluczowa PHP 7, przyniosły ogromne usprawnienia w wydajności. Obecnie język jest rozwijany przez społeczność deweloperów z całego świata.
Główne założenia i wykorzystanie
PHP został zaprojektowany głównie do tworzenia dynamicznych stron i aplikacji internetowych. Jego kod jest wykonywany na serwerze, a następnie generuje kod HTML, który jest wysyłany do przeglądarki użytkownika.
Główne zastosowania:
Systemy zarządzania treścią (CMS): PHP jest podstawą najpopularniejszych CMS-ów, takich jak WordPress, Joomla! czy Drupal. Dzięki temu miliony stron internetowych na świecie działają w oparciu o ten język.
Aplikacje e-commerce: Sklepy internetowe takie jak Magento czy PrestaShop również wykorzystują PHP do obsługi procesów zakupowych, zarządzania produktami i użytkownikami.
Frameworki: Użycie frameworków takich jak Laravel, Symfony czy CodeIgniter pozwala na budowanie zaawansowanych aplikacji webowych w sposób uporządkowany i bezpieczny. Ułatwiają one implementację wzorców projektowych, takich jak MVC (Model-View-Controller).
Proste skrypty: PHP jest idealny do tworzenia formularzy kontaktowych, galerii zdjęć czy systemów blogowych.
Różnice między PHP a innymi językami
Łatwość nauki: PHP jest często postrzegany jako język o stosunkowo łagodnej krzywej uczenia się, zwłaszcza dla początkujących. Jego składnia jest czytelna i prosta.
Integracja z HTML: Kod PHP można łatwo osadzać bezpośrednio w plikach HTML, co ułatwia generowanie dynamicznych treści. W przeciwieństwie do Javy czy Pythona, które zazwyczaj wymagają oddzielnego serwera aplikacji.
Specyfika serwerowa: PHP jest językiem skryptowym po stronie serwera (backend). Oznacza to, że jego kod nie jest widoczny dla użytkownika końcowego. W przeciwieństwie do JavaScriptu, który jest językiem po stronie klienta (frontend).
Popularność i wsparcie: Z uwagi na swoją długą historię i szerokie zastosowanie w CMS-ach, PHP ma ogromną społeczność, która tworzy mnóstwo dokumentacji, forów i bibliotek.
Przyszłość PHP
Mimo rosnącej popularności innych języków, takich jak Python czy Node.js, PHP wciąż ma się dobrze i jest prężnie rozwijany. Jego przyszłość wygląda obiecująco z kilku powodów:
Wydajność: Nowe wersje, zwłaszcza z serii 8.x, przyniosły znaczną poprawę wydajności. PHP 8.0 wprowadziło kompilator JIT (Just-In-Time), który przyspiesza wykonywanie kodu.
Współczesne rozwiązania: Język ewoluował, przyjmując nowoczesne rozwiązania takie jak system typów, funkcje strzałkowe, czy atrybuty. Dzięki temu PHP jest w stanie konkurować z innymi językami w kontekście projektowania dużych, skalowalnych aplikacji.
Rynek pracy: Ze względu na dominację WordPressa i innych CMS-ów opartych na PHP, zapotrzebowanie na programistów PHP pozostaje wysokie.
W skrócie, PHP nie jest już tylko językiem do tworzenia prostych stron, ale potężnym narzędziem do budowania złożonych, wydajnych i nowoczesnych aplikacji webowych.
Zadania:
Historia i rola PHP
Pytanie: Wymień, kto jest twórcą języka PHP i dlaczego ten język początkowo powstał.
Pytanie: Wytłumacz, czym różni się PHP od HTML. Użyj analogii, na przykład "HTML to szkielet domu, a PHP to...".
Pytanie: Podaj trzy przykłady znanych stron lub systemów, które zostały zbudowane przy użyciu PHP. Dlaczego, Twoim zdaniem, PHP jest tak popularny w tym zastosowaniu?
Podstawy składni
Pytanie: Wskaż, jak rozpoczynamy, a jak kończymy blok kodu PHP w pliku HTML. Napisz poprawny zapis.
Pytanie: Jaką funkcję w PHP stosujemy do wyświetlenia tekstu na ekranie? Podaj przykład, który wyświetli napis "Witaj świecie!".
Pytanie: Co to jest zmienna w PHP i w jaki sposób ją deklarujemy? Podaj przykład zmiennej przechowującej wiek.
Aplikacje webowe i serwery
Pytanie: Wytłumacz, dlaczego kod PHP jest nazywany językiem "po stronie serwera" (backend). Co to oznacza w praktyce dla użytkownika końcowego?
Pytanie: Wyobraź sobie, że wysyłasz formularz kontaktowy. Opisz krok po kroku, co dzieje się z danymi od momentu kliknięcia przycisku "Wyślij" w przeglądarce do momentu, gdy serwer przetworzy te dane za pomocą PHP.
Przyszłość i rozwój
Pytanie: Jakie usprawnienia wprowadzono w nowszych wersjach PHP (np. 7.x i 8.x)? Co oznaczają one dla wydajności i bezpieczeństwa aplikacji?
Pytanie: Czy w dobie popularności JavaScriptu i Pythona warto uczyć się PHP? Uzasadnij swoją odpowiedź, biorąc pod uwagę rynek pracy i szerokie zastosowanie języka.