Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Tworzenie stron WWW Programowanie webowe PHP

W kodzie HTML zdefiniowano formularz, który wysyła dane metodą GET do pliku formularz.php. Po wciśnięciu przycisku typu submit przeglądarka przechodzi pod adres …/formularz.php?imie=Anna&nazwisko=Kowalska. Znak & w tym adresie

A. oddziela nazwę pola od jego wartości
B. wskazuje fragment strony, do którego przeglądarka ma przewinąć
C. rozpoczyna część adresu zawierającą dane formularza
D. oddziela od siebie kolejne pary nazwa=wartość
W adresie typu /formularz.php?imie=Anna&nazwisko=Kowalska znak & pełni rolę separatora między kolejnymi parametrami zapytania, czyli między parami nazwa=wartość. Część po znaku ? to tak zwany query string, czyli dane dopisane do adresu URL przy wysyłaniu formularza metodą GET. W tym przykładzie mamy dwie pary: imie=Anna oraz nazwisko=Kowalska, a znak & mówi przeglądarce i serwerowi, gdzie kończy się jeden parametr, a zaczyna następny. Dzięki temu PHP może później odczytać dane np. z tablicy $_GET, czyli $_GET['imie'] będzie miało wartość Anna, a $_GET['nazwisko'] wartość Kowalska. Moim zdaniem to jest jedna z tych podstaw, które naprawdę warto dobrze rozumieć, bo przydaje się przy debugowaniu formularzy, linków filtrujących produkty, wyszukiwarek czy paginacji. Dobra praktyka jest taka, żeby dane w URL były poprawnie kodowane, szczególnie gdy zawierają spacje, polskie znaki albo znaki specjalne. Sama metoda GET nadaje się głównie do danych jawnych i niekrytycznych, bo parametry są widoczne w pasku adresu oraz mogą trafić do historii przeglądarki.
W tym adresie łatwo pomylić kilka znaków, bo każdy z nich ma inną funkcję w składni URL. Znak rozpoczynający część adresu z danymi formularza to ?, a nie &. Dopiero po ? zaczyna się query string, czyli fragment zawierający parametry przekazywane najczęściej do skryptu po stronie serwera, na przykład do pliku PHP. Gdy formularz używa metody GET, przeglądarka dokleja nazwy pól i ich wartości właśnie do adresu, co jest wygodne przy wyszukiwaniu, filtrowaniu albo linkach, które można komuś wysłać. Znak = ma inne zadanie: łączy nazwę konkretnego pola z jego wartością, na przykład imie=Anna. To nie jest separator wielu danych, tylko przypisanie wartości do jednej nazwy parametru. Z kolei znak # w adresach URL oznacza fragment dokumentu, czyli miejsce na stronie, do którego przeglądarka może przewinąć, na przykład sekcję o podanym identyfikatorze. Typowy błąd myślowy polega na traktowaniu całego końca adresu jako jednego mechanizmu bez rozróżnienia znaków ?, =, & i #. W praktyce warto zapamiętać prosty schemat: ? zaczyna parametry, = łączy nazwę z wartością, & rozdziela kolejne parametry, a # wskazuje fragment strony. Z mojego doświadczenia, jak ktoś zacznie czytać adresy URL według tego schematu, to obsługa formularzy w PHP robi się dużo bardziej logiczna i mniej magiczna.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.