Formularze w PHP - pola wyboru
| DZIAŁANIE: |
|
Kod:

Ewentualne Objaśnienia:
Ten przykład to znowu takie samo działanie jak poprzednio jednak zrealizowane na polach wyboru ( czyli można wybrać więcej niż jedną opcję ). Generalnie nie ma tutaj nic nowego jeśli chodzi o funkcje. Jednak jak się przyjrzycie jest tutaj trochę kombinacji i myślenia. Spójrzcie jak jest zbudowany formularz - wyświetlane są pola do wyboru na podstawie odczytu z tablicy $opcje dzięki pętli foreach - nie trzeba ręcznie programować każdego pola wyboru. To bardzo wygodne i funkcjonalne! Warto znać takie rozwiązania i stosować je ponieważ są wygodne, szybkie w programowaniu i wydajne przy dalszej modyfikacji.
Trzeba jednak dobrze zrozumieć kod, dlatego tutaj omówię Wam go co nieco:
1). wiadomo pierw mamy deklaracje zmiennej $poprzedniadres oraz tablicy $opcje z
kluczami ( indeksy tablicy a zarazem nazwy pól checkbox formularza ) oraz
odpowiadającymi im wartościami ; Jest także deklaracja zmiennej $znal, która
posłuży nam do określenia czy dana wartość jest w tablicy czy też nie ;
2). następnie mamy pętle foreach, która 'przechodzi' przez całą tablicę
$opcje ( przez wszystkie klucze i odpowiadające im wartości ). W tej pętli :
- zmiennej $jest zostaje przypisana wartość tablicy :
$_GET[$klucz], czyli jeśli na przykład zaznaczymy piłka nożna to jest to : $_GET['pilka']
;
- dalej jeżeli ta zmienna $_GET[$klucz] istnieje ( czyli coś
zostało wybrane ), to zmiennej $wybrano jest przypisywana wartość jej samej oraz
zmienna $wartosc czyli wartość z tablicy $opcje dla
danego klucza zależnie od naszego wyboru. Zwróć uwagę na zapis :
$wybrano = $wybrano.$wartosc." "; - kropka jest operatorem jakby łączącym zmienne, nie jest ona wyświetlana jako znak na stronie. Gdyby go nie było wystąpił by błąd.
Można by jednak ten zapis również zastąpić dzięki znanemu Wam operatorowi, mianowicie zapisem :
$wybrano .= $wartosc." "; ( oczywiście druga kropeczka oddziela zmienną od cudzysłowów w którym mamy po prostu spacje, oddzielające kolejne wartości wybrane )
- po dopisaniu kolejnej wartości do zmiennej $wybrano (
oczywiście o ile dana wartość została zaznaczona w formularzu ) zmiennej $znal
jest przypisywana wartość 1 ( można by było również napisać : $znal = 1; -
pamiętajcie o tym 0 to fałsz (FALSE), a 1 to prawda (TRUE).
3). Po wyjściu z pętli ( jej zakończeniu )
sprawdzane jest czy zmienna $znal ma wartość 1 ( TRUE ) jeżeli tak ( czyli
cokolwiek zostało przez nas wybrane w formularzu ) pojawia się nam tekst
informujący jakie wybraliśmy opcję oraz link powrotny.
4). W przeciwnym razie, czyli gdy zmienna
$znal ma wartość 0 (FALSE) czyli nic nie wybraliśmy zostaje wyświetlony
formularz. Zwróćcie uwagę na to o czym już mówiłem czyli na sposób w jaki PHP
wyświetla formularz.
Znowu bardzo przydatna jest pętla foreach, która przechodzi
przez całą tablicę $opcje oraz kolejne dla każdego przejścia wyświetla pola
wyboru ( checkbox ), których wartość NAME jest równa danemu kluczowi tablicy
asocjacyjnej $opcje( czyli pilka, kosz, siat itd ) oraz obok tychże pół
wyświetla dane wartości ( zmienna $wartosc ) odpowiadające tym kluczom, czyli
dla klucza siat wyświetla wartość Piłka Siatkowa itd itd
Warto pamiętać o takim budowaniu formularzy i wszelkich innych elementów, sami przyznacie, że to bardzo ułatwia życie. No cóż jedziemy dalej !!
Zwróćcie też uwagę, że tutaj użyłem metody GET, a nie POST. Dlaczego ?Generalnie po to abyście mogli sobie sprawdzić w jaki sposób wpisane dane są przekazywane w adresie .