Teoria INF.03: PHP
Składnia i zmienne, tablice, formularze ($_GET, $_POST), sesje i ciasteczka oraz praca z bazą przez mysqli.
Było na egzaminie — wymagania z 152 arkuszy części praktycznej CKE (INF.03, EE.09, E.14), 2018–2026
- 101/152arkuszy ma skrypt w PHP
- 19/152Daty · ostatnio czerwiec 2026
- 18/152Walidacja danych · ostatnio czerwiec 2026
- 9/152Formularz GET · ostatnio czerwiec 2026
Najważniejsze zagadnienia 30
0/30 umiem
- Jak wygląda znacznik otwierający kod PHP? #
<?php, a zamykający?>. Plik musi mieć rozszerzenie.phpi leżeć na serwerze.- Jak połączyć dwa napisy w PHP? #
- Kropką:
$a . $b. W JavaScripcie robi to plus — to częste źródło pomyłek. - Jak nawiązać połączenie z bazą MySQL? #
$p = mysqli_connect("localhost", "root", "", "nazwa_bazy");- Jak wykonać kwerendę i przejść po wynikach? #
$w = mysqli_query($p, $sql);potemwhile ($wiersz = mysqli_fetch_assoc($w)) { ... }- Jak odebrać dane wysłane metodą POST? #
- Tablica
$_POST["nazwa_pola"]. Dla metody GET:$_GET["nazwa"]. - Jak sprawdzić, czy zmienna została przekazana? #
isset($_POST["imie"])— zwraca prawdę, jeśli zmienna istnieje i nie jest pusta w sensienull.- Jak sprawdzić, czy kwerenda coś zwróciła? #
mysqli_num_rows($wynik) > 0- Czym jest wstrzyknięcie SQL i jak się przed nim bronić? #
- Wpisaniem kodu SQL w pole formularza atakujący zmienia sens kwerendy. Obrona: zapytania przygotowane albo funkcja
mysqli_real_escape_string. - Jak wypisać tekst na stronę? #
echo "tekst";- Jaka jest składnia pętli po tablicy asocjacyjnej? #
foreach ($tablica as $klucz => $wartosc) { ... }- Do czego służy
htmlspecialchars? # - Zamienia znaki specjalne HTML na encje, przez co wpisany kod nie wykona się na stronie. Obrona przed atakiem XSS.
- Jak sprawdzić, czy formularz wysłano metodą POST? #
if ($_SERVER["REQUEST_METHOD"] === "POST") { ... }. Dzięki temu kod zapisu nie wykonuje się przy zwykłym wejściu na stronę.- Do czego służy funkcja
trim? # - Usuwa białe znaki z początku i końca tekstu. Przydaje się przed sprawdzaniem danych z formularza.
- Czym różni się
emptyodisset? # issetsprawdza, czy wartość istnieje i nie jestnull.emptyuznaje za puste także m.in. pusty napis, zero ifalse.- Jak sprawdzić, czy odebrana wartość jest poprawną liczbą całkowitą? #
- Można użyć
filter_var($wartosc, FILTER_VALIDATE_INT)i sprawdzić, czy wynik nie jest równyfalse. - Co trzeba zrobić przed użyciem tablicy
$_SESSION? # - Wywołać
session_start()przed wysłaniem jakiejkolwiek treści HTML. - Jak ustawić ciasteczko w PHP? #
- Funkcją
setcookie("nazwa", "wartosc", time() + 3600);, wywołaną przed wysłaniem treści strony. - Czym różni się
includeodrequire? # - Przy błędzie
includezgłasza ostrzeżenie i skrypt zwykle działa dalej.requirezatrzymuje wykonanie, gdy plik jest niezbędny. - Jak ustawić poprawne kodowanie połączenia
mysqli? # - Po połączeniu wywołaj
mysqli_set_charset($polaczenie, "utf8mb4");. - Jak zamknąć połączenie z bazą danych? #
- Funkcją
mysqli_close($polaczenie);, gdy wszystkie kwerendy są już wykonane. - Jaki jest podstawowy schemat zapytania przygotowanego w
mysqli? # mysqli_prepare, potemmysqli_stmt_bind_param, następniemysqli_stmt_execute. Dane nie są sklejane bezpośrednio z SQL-em.- Jak bezpiecznie zapisać hasło użytkownika? #
- Wynikiem
password_hash($haslo, PASSWORD_DEFAULT). Nie zapisuj hasła w bazie jako zwykłego tekstu. - Jak sprawdzić hasło podane przy logowaniu? #
- Użyj
password_verify($podane, $hash_z_bazy). Funkcja porównuje hasło z hashem utworzonym przezpassword_hash. - Jak przekierować użytkownika na inną stronę? #
header("Location: sukces.php"); exit;. Nagłówek musi zostać wysłany przed treścią HTML.- Do czego służą funkcje
explodeiimplode? # explodedzieli tekst na tablicę według separatora, aimplodełączy elementy tablicy w tekst.- Jak zwrócić wynik z własnej funkcji PHP? #
- Użyj
return, np.function brutto($netto) { return $netto * 1.23; }. - Jak otwiera się blok kodu PHP? #
<?php … ?>. W pliku zawierającym sam PHP znacznik zamykający się pomija — chroni to przed przypadkową spacją na końcu.- Dlaczego plik PHP nie działa po otwarciu dwuklikiem? #
- Bo PHP wykonuje się na SERWERZE. Plik musi leżeć w
htdocsi być otwarty przezhttp://localhost/…, nie przezfile:///. - Jak wypisać tekst w PHP? #
echo "tekst";.printrobi to samo, ale zwraca wartość i przyjmuje jeden argument.- Jak zapisać zmienną w PHP? #
- Z dolarem na początku:
$imie = "Jan";. Nazwa rozróżnia wielkość liter.
GET czy POST
| Cecha | GET | POST |
|---|---|---|
| Gdzie są dane | W adresie URL: ?miasto=Kraków | W treści żądania, poza adresem |
| Widać w historii i zakładkach | Tak | Nie |
| W PHP | $_GET['miasto'] | $_POST['miasto'] |
| Typowe użycie | Wyszukiwanie, filtry, linki do wyników | Logowanie, rejestracja, dodawanie danych do bazy |
Sprawdź się
Sprawdź się: 3 pytania z tematu PHP
-
Dla
$a = 0;funkcjaempty($a)zwróci:emptyuznaje za puste: 0, "0", pusty napis, null, false i pustą tablicę. -
Superglobalna tablica
$_SERVER['REQUEST_METHOD']pozwala sprawdzić:Typowy wzorzec to wykonanie zapisu do bazy dopiero, gdy metoda to POST.
-
Funkcja mysqli_fetch_assoc zwraca:
Używana w pętli while do przejścia po wynikach.
Wszystkie pytania testowe: JavaScript i PHP (1 028) → Ten temat ma w aplikacji 393 fiszek z powtórkami.