PHP [MK, 20/21]
Lekcja 17. Tablice superglobaln...   Formularze – walidac...

Formularze – tworzenie i obsługa


Definicje

  • Definicja 1.
    Jakimi atrybutami łączymy element <label> z elementem <input>?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 2.
    Podaj atrybut i jego wartość, dzięki którym element <input> stanie się przyciskiem.
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 3.
    Co należy podać w atrybucie action elementu <form>?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 4.
    Co zawiera pole tablicy $_SERVER o nazwie REQUEST_METHOD?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 5.
    Jakim dwoma elementami tworzymy w formularzu rozwijaną listę wyboru?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 6.
    Jaki atrybut należy dodać do elementu listy rozwijanej, aby ten element był domyślnie wybrany?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 7.
    Jaki atrybut musi być dodany do elementu <input>, aby potem wartość tego elementu była widoczna w tablicy $_GET lub $_POST?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 8.
    Co powinien zawierać atrybut method formularza HTML?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 9.
    Jaki typ należy ustawić w elemencie <input>, aby w przeglądarce wyświetlało się pole (zazwyczaj okrągłe) z możliwością jednokrotnego zaznaczenia?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 10.
    Jakim elementem (inaczej tagiem) HTML tworzymy formularz?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 11.
    Jakim elementem HTML tworzymy etykietę tekstową do np. pola tekstowego w formularzu?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 12.
    Podaj atrybut i jego wartość, dzięki którym element <input> będzie polem do wprowadzania hasła.
  • Aby zobaczyć tą treść musisz być zalogowany

  • Definicja 13.
    Podaj atrybut i jego wartość, dzięki którym element <input> będzie polem do wprowadzania tekstu.
  • Aby zobaczyć tą treść musisz być zalogowany

Pytania

  • Pytanie 1.
    Jaki atrybut należy dodać do elementu listy rozwijanej, aby ten element był domyślnie wybrany?
  • Aby zobaczyć tą treść musisz być zalogowany

  • Pytanie 2.
    Jak nazywa się tablica superglobalna zawierająca wiele przydanych informacji o serwerze, kliencie oraz wykonywanym skrypcie?
  • Aby zobaczyć tą treść musisz być zalogowany

Zadania

Zadanie 1. #
Zapoznaj się z wbudowanymi funkcjami PHP: trim, stripslashes, htmlspecialchars. Następnie utwórz plik przydatne_funkcje.php, a w nim formularz składający się z trzech pól tekstowych i odpowiadających im etykiet oraz jednego przycisku do wysyłania formularza metodą post. Formularz po wysłaniu ma wracać do tego samego pliku. Uzupełnij pola formularza:
  • do pierwszego pola wpisz tekst ze spacjami na początku i na końcu
  • do drugiego pola wpisz tekst zawierający ukośnik typu backslash
  • do trzeciego pola wpisz tekst zawierający znaczniki HTML
Poniżej formularza sprawdzaj (przy użyciu klucza tablicy superglobalnej $_SERVER) czy żądanie HTTP było wysłane metodą post i jeśli tak, to wyświetlaj tekst z pól formularza za pomocą funkcji var_dump na dwa sposoby. Raz tylko za pomocą var_dump, a drugi raz za pomocą var_dump i jednej z nowo poznanych funkcji. task_539.png

Zadanie 2. #

Utwórz plik miesiace_w_polu_select.php, a w nim tablicę asocjacyjną składającą się z polskich nazw miesięcy. Następnie wewnątrz elementu <select> wygeneruj pętlą foreach elementy <option> z wartościami pobieranymi z tablicy z nazwami miesięcy. Przykład: <option value="Styczeń">Styczeń</option>

Na koniec ustaw bieżący miesiąc jako domyślnie wybrany (skorzystaj z funkcji date() z parametrem m lub j).

Zadanie 3. #

Utwórz plik roczniki_w_polach_radio.php, a w nim, za pomocą pętli for, wygeneruj 16 elementów HTML-owego formularza typu radio wraz z etykietami. Pierwszy element powinien mieć etykietę 2010, drugi 2011 i tak dalej, aż do ostatniego z etykietą 2025. Każdy element radio powinien być w osobnym wierszu i tylko jeden może być zaznaczony. Po kliknięciu na etykietę tekstową, pole radio powinno się zaznaczać. Wszystkie elementy powinny być wewnątrz ramki o szerokości 2 piksele, w kolorze czarnym, wykonanej z elementów fieldset i legend z tytułem Roczniki.

radioX16.png

Zadanie 4. #

Utwórz plik lorem50.php, a w nim dodaj element formularza <textarea> posiadający 50 kolumn i 5 wierszy. Dodaj do niego przykładowy tekst składający się z około 50 wyrazów, np. Lorem ipsum .... Pod polem tekstowym umieść przycisk wysyłający formularz. Po wysłaniu, pole tekstowe i przycisk wysyłania mają znikać ze strony, a w ich miejscu mają pojawiać się dwa akapity. Pierwszy z tekstem: Oto wpisany tekst:, natomiast drugi powinien zawierać tekst z pola tekstowego na formularzu. Dodatkowo drugi akapit powinien być napisany pochyloną, czerwoną czcionką.

Wszystkie elementy (formularz i akapity) powinny być wewnątrz ramki o szerokości 2 piksele, w kolorze czarnym, wykonanej z elementów fieldset i legend z tytułem lorem50.

lorem50_formularz_akapity.png

Zadanie 5. #

Utwórz plik liczby_w_polach_checkbox.php, a w nim, za pomocą funkcji range i pętli foreach, wygeneruj 11 elementów input typu checkbox z etykietami. Każdy element i jego etykieta powinny odpowiadać kolejnym liczbom od 0 do 100 z krokiem co 10. Elementom label należy ustawić margines prawostronny na 20 pikseli. Po kliknięciu na etykietę tekstową, odpowiednie pole checkbox powinno się zaznaczać.

Poniżej elementów input i label, w nowej linii, umieść przycisk Wybierz wysyłający zaznaczone pola metodą post. Po wysłaniu, pod przyciskiem powinien się wyświetlać akapit: Te liczby zostały wybrane: (po dwukropku wybrane liczby oddzielone przecinkami) lub Żadna liczba nie została wybrana.. Dodatkowo formularz po wysłaniu powinien pamiętać, które liczby zostały na nim zaznaczone i te pola powinny mieć ustawiony atrybut checked. Całe zadanie powinno być wewnątrz ramki o szerokości 3 piksele, w kolorze zielonym, wykonanej z elementów fieldset i legend z tytułem Liczby.

task_562.png

Zadanie 6. #

Utwórz plik litery_w_polach_checkbox.php, a w nim, pomocą funkcji range i pętli foreach, wygeneruj 26 elementów input typu checkbox z etykietami. Każdy element i jego etykieta powinny odpowiadać kolejnym literom alfabetu od a do z. Elementom label należy ustawić margines prawostronny na 15 pikseli. Po kliknięciu na etykietę tekstową, pole checkbox powinno się zaznaczać.

Poniżej elementów input i label, w nowej linii, umieść przycisk Wybierz wysyłający zaznaczone pola. Po wysłaniu, pod przyciskiem powinien się wyświetlać akapit: Te litery zostały wybrane: (po dwukropku wybrane litery oddzielone przecinkami) lub Żadna litera nie została wybrana..

Dodatkowo formularz po wysłaniu powinien pamiętać, które litery zostały na nim zaznaczone i te pola powinny mieć ustawiony atrybut checked.

alfabet.png

Całe zadanie powinno być wewnątrz ramki o szerokości 2 piksele, w kolorze niebieskim, wykonanej z elementów fieldset i legend z tytułem Alfabet.

Zadanie 7. #
Utwórz plik miesiace_w_polach_checkbox.php, a w nim tablicę PHP składającą się z nazw miesięcy. Następnie korzystając z pętli foreach wygeneruj 12 elementów input typu checkbox z etykietami. Każdy element i jego etykieta powinny odpowiadać kolejnym miesiącom. Elementom label należy ustawić margines prawostronny na 10 pikseli. Po kliknięciu na etykietę tekstową, odpowiednie pole checkbox powinno się zaznaczać. Poniżej elementów input i label, umieść przycisk Wybierz wysyłający zaznaczone pola metodą post. Po wysłaniu, pod przyciskiem powinien się wyświetlać akapit: Te miesiące zostały wybrane: (po dwukropku wybrane miesiące oddzielone przecinkami) lub Żaden miesiąc nie został wybrany.. Dodatkowo formularz po wysłaniu powinien pamiętać, które miesiące są na nim zaznaczone i te pola powinny mieć ustawiony atrybut checked. Całe zadanie powinno być wewnątrz ramki o szerokości 3 piksele, w kolorze różowym, wykonanej z elementów fieldset i legend z tytułem Miesiące. task_563.png

2022-10-18 08:49:43 2024-03-21 02:31:26


© 2024 Młody Informatyk v. 0.1.7717