background image

HTTP 
1.Wymień najważniejsze metody (rodzaje 
żądań) HTTP.
 Pytanie do serwera: request, i 
odpowiedz: response  
2. Co to znaczy, że protokół HTTP jest 
bezstanowy?  
Bezstanowy – nie zachowuje żadnych informacji 
o zrealizowanej transakcji; Stanowość zapewnia 
najczęściej mechanizm sesji kontrolowanej przez 
serwer, do czego wykorzystuje się mechanizm 
ciasteczek (cookies) zapisywanych przez klienta 
3. Na czym polega różnica między metodami 
(rodzajami żądań) GET oraz HEAD 
protokołu HTTP.  
GET – pobranie wskazanego przez URI zasobu; 
najczęściej wykorzystywany 
HEAD – pobranie informacji o wskazanym 
zasobie serwer na oba żadania musi 
obowiązkowo odpowiadać 
4. Na czym polega różnica między metodami 
(rodzajami żądań) GET oraz POST protokołu 
HTTP.
  
GET – pobranie wskazanego przez URI zasobu; 
najczęściej wykorzystywany 
POST- przesłanie danych od klienta do serwera, 
np. danych formularza; dane przekazywane są do 
wskazanego zasobu, tj. skryptu CGI, PHP, … 
Na POST serwer odpowiada w przypadku jeżeli 
aktywny jest mechanizm dynamicznego 
tworzenia stron WWW  
5. Jakie były najważniejsze przejawy i skutki 
tzw. pierwszej wojny przeglądarek?
  
*Pierwsza wojna przeglądarek: 1997-1999 MS 
Internet Explorer vs Netscape Nawigator 
Niestandardowe rozszerzenia ("fajniejsze" strony 
WWW); początkowo wygrywa NN, przeważa 
fakt, że IE jest darmowy Efekt: całkowita 
dominacja IE, zastój w rozwoju przeglądarek i 
standardów HTML 
6. Kim były strony tzw. pierwszej wojny 
przeglądarek? Kto i dlaczego tę wojnę 
wygrał?  
Niestandardowe rozszerzenia ("fajniejsze" strony 
WWW); początkowo wygrywa NN, przeważa 
fakt, że IE jest darmowy Efekt: całkowita 
dominacja IE, zastój w rozwoju przeglądarek i 
standardów HTML 
7. Jaki wpływ na rozwój języka HTML oraz 
CSS miały wojny przeglądarek, pierwsza i
 
druga?  
*Druga wojna przeglądarek: 2002-? MS Internet 
Explorer vs (Firefox + Safari + Opera) Zgodność 
ze standardami i likwidacja monopoli; 
paradoksalnie, IE przeważa ponieważ nie 
respektuje standardów W3C 

 

HTML  
1. Do czego służy język HTML i jakie 
możliwości daje twórcom stron WWW?  
HTML (ang. Hypertext Markup Language) 
język znaczników hipertekstowych – obecnie 
dominujący 
język stron internetowych. 
• Opisuje strukturę informacji zawartych w 
dokumencie 
(nagłówki, akapity listy, tabele, …) 
• Umożliwia określenie sposobu prezentacji 
poszczególnych 
elementów dokumentu 
(wyrównanie, obramowanie, odstępy, czcionka, 
kolor, …) 
• Umożliwia osadzanie w dokumencie 
dodatkowych elementów 
(grafika, animacje, aplety, formularze, …) 
• Umożliwia osadzanie w dokumencie skryptów, 
wpływających na 
zachowanie przeglądarki 
(JavaScript, VB Script, …) 
2. Co oznacza określenie "strukturalny 
HTML"?  
Cały dokument reprezentowany jest przez jeden 
element 
(html), składający się z nagłówka (head) i ciała 
(body). 
Można pominąć typ dokumentu a nawet 
nagłówek, jednak 
nie jest to zalecane. 
3. Jaka jest relacja między językami SGML i 
HTML?  
HTML wywodzi się z języka SGML (ang. 
Standard Generalized 
Markup Language). 
4. Jakie są najważniejsze różnice między 
językami HTML i XHTML?  
XHTML (ang. Extensible Hypertext Markup 
Language) 
rozszerzalny język znaczników hipertekstowych 
– uważany za 
następcę języka HTML, intensywnie 
promowany. 
• Oparty na XML (zamiast SGML); 
• Obsługa przestrzeni nazw XML 
- możliwość stosowania rozszerzeń (np. SVG, 
MathML, …) 
• Bardziej restrykcyjne reguły 
- obowiązkowe znaczniki zamykające 
- rozróżniane małe i wielkie litery 
Łatwiejsza walidacja dokumentów (ale nie 
weryfikacja) 
• Inny typ MIME zawartości 

background image

application/xhtml+xml zamiast text/html 
5. Z jakich najważniejszych części składa się 
dokument HTML?  
składający się z nagłówka (head) i ciała (body) 
6. Do czego służy DTD w dokumencie HTML? 
W jaki sposób brak DTD wpływa na
 działanie 
przeglądarki?  
Określenie typu dokumentu (DTD, document 
type 
declaration) informuje przeglądarkę o tym, który 
z wariantów 
języka html/xhtml jest używany. 
• Determinuje to sposób interpretacji dokumentu. 
• Jeżeli DTD nie zostanie podany (lub zawiera 
błędy), 
przeglądarka pracuje w trybie kompatybilności 
(tzw. tryb quirks, 
tryb dziwactw, pozwalający w miarę prawidłowy 
sposób 
prezentacji starych dokumentów HTML); 
przeglądarka może ignorować niektóre znaczniki 
lub atrybuty 
znaczników bądź interpretować je 
niestandardowo, ale też 
może uwzględniać znaczniki i atrybuty obecnie 
nieużywane. 
7. Jakie informacje są umieszczane w 
elemencie <head> dokumentu HTML?  
Najważniejsze elementy nagłówka: 
• Sposób kodowania znaków i język dokumentu 
• Autor, tytuł oraz ikona strony 
• Słowa kluczowe, opis zawartości 
• Data utworzenia, modyfikacji, ważności 
• Generator stron 
W nagłówku można dołączyć lub osadzić arkusz 
stylów (CSS) 
oraz dołączyć lub osadzić skrypt (JavaScript, 
VBScript) 
8. Jaki wpływ ma zawartość elementu <head> 
dokumentu HTML na działanie 
wyszukiwarek internetowych?  
Formalnie nieobowiązkowy, jednak zawarte w 
nim informacje 
maja istotne znaczenie zarówno dla przeglądarki 
oraz 
poprawnego wyświetlania strony, jak i dla 
wyszukiwarek. 
9. Jakie są popularne standardy kodowanie 
polskich znaków w dokumentach HTML? 
Które z nich są formalnie poprawne?  
Istnieje kilka metod kodowania polskich znaków. 
Jedyne 
poprawne to ISO 8859-2 (tzw. latin 2) oraz 
Unicode, w tym 

popularny UTF-8. Sposób znany z Windows 
(CP1250) nie jest 
uznanym standardem międzynarodowym 
10. Scharakteryzuj atrybuty elementów 
HTML: id oraz name.  
id – identyfikator (nazwa) elementu; powinien 
być unikalny w 
obrębie dokumentu; może być wykorzystany w 
skryptach oraz 
arkuszach stylów 
name – Atrybut definiuje nazwę elementu. 
Nazwa umożliwia komunikowanie się z tym 
elementem przez inne elementy używając np. 
skryptów lub appletów. Identyfikacja pomaga w 
precyzyjnym określeniu jednego elementu lub 
całej grupy elementów np. dla pól wyboru w 
formularzach. 
11. Scharakteryzuj atrybuty elementów 
HTML: class oraz style.  
class – przypisuje elementowi nazwę lub nazwy 
klas arkusza 
stylów, do których element zostaje przypisany 
style – styl elementu, nadpisujący styl 
odziedziczony 
12. Scharakteryzuj elementy <h1> ... <h6> 
HTML.  
Elementy strukturalne blokowe - naglowki 
13. Scharakteryzuj elementy <ol>, <ul> oraz 
<li> HTML.  
Elementy strukturalne blokowe – listy 
Ol – Lista uporządkowanych (numerowanych) 
elementów; 
Ul – Lista nieuporządkowanych 
(wypunktowanych) elementów; 
Li – Element listy numerowanej lub 
wypunktowanej: li 
• Zawartość list ol oraz ul mogą stanowić 
wyłącznie elementy list, 
definiowane jako li 
14. Podaj przykłady elementów 
strukturalnych blokowych i liniowych HTML. 
Na czym
 polega różnica między nimi?  
Elementy formatowania tekstu – liniowe 
• b – wytłuszczenie (bold) 
• i – kursywa (italic) 
Elementy strukturalne blokowe – listy ul ol, 
naglowki 
15. Do czego (do jakich zasobów) może 
odsyłać element <a> języka HTML?  
element łącza hipertekstowego; 
Odsyłacz do dokumentu HTML lub innych 
zasobów bądź usług 
dostępnych w sieci Internet 
 

background image

16. Z jakich elementów HTML składa się (w 
najprostszym przypadku) tabela?  
• tr – wiersz tabeli; powinien zawierać 
przynajmniej jedną 
komórkę – th albo td 
• th – komórka nagłówkowa (przeglądarki 
wyróżniają komórki 
nagłówkowe, zazwyczaj przez wytłuszczenie 
tekstu) 
• td – komórka danych 

 

CSS 
1. Do czego służą arkusze CSS? Jaki jest cel 
wprowadzenia arkuszy CSS do dokumentów 
HTML?  
Kaskadowe Arkusze Stylów CSS (ang. 
Cascading Style Sheets) to język służący do 
formatowania dokumentów WWW, utworzonych 
w językach HTML oraz XHTML. CSS 
stworzono w celu odseparowania formy 
prezentacji 
dokumentu (CSS) od jego struktury i zawartości 
(HTML) 
2. Jakie są zalety stosowania arkuszy CSS w 
porównaniu do formatowania dokumentów
 
WWW poprzez atrybuty elementów HTML? 
Arkusz CSS składa się z listy dyrektyw (reguł) 
określających sposób prezentacji określonej 
cechy określonego elementu 
HTML/XHTML (np. kolor czcionki nagłówka 
poziomu 3, 
szerokość lewego wewnętrznego marginesu 
elementu listy, …) 
3. Na czym polega kaskada stylów, 
wymieniana w nazwie arkuszy CSS?  
Kaskada stylów polega na możliwości 
definiowania stylu w kilku 
miejscach i określeniu priorytetów 
poszczególnych arkuszy 
(na wypadek gdyby reguły były sprzeczne) 
4. Jakie są metody dołączania stylów do 
poszczególnych elementów HTML (tj. w 
jakich
 miejscach dokumentu można to zrobić i 
w jaki sposób) ?
 Metody dołączania stylów: 
• Element link w nagłówku HTML: 
<link rel="stylesheet" type="text/css" 
href="style.css"> 
• Element style w nagłówku HTML: 
<style type="text/css"> 
<!-- 
--> 
</style> 
• Atrybut style elementu HTML 
<??? style=" … "> 
 

5. Wyjaśnij różnicę pomiędzy układami 
selektorów CSS:
 "div, p" element div oraz p, 
"div p” element p zawarty w div oraz "div > p" 
element p zawarty bezpośrednio w div .  
6. Podaj interpretację układu selektorów CSS: 
h2 + ol.contens li  element ol.contents li 
umieszczony bezpośrednio za h2, gdzie li 
zawarty jest w ol.contents  
7. Podaj interpretację układu selektorów CSS: 
div h3 + p.comment Element h3 zawarty w 
elemencie div, gdzie p.comment umieszczony 
bezpośrednio za h3 
8. Do czego odnoszą się selektory CSS: p.index 
oraz p#index? Na czym polega różnica między 
zakresami ich stosowania? Różnica polega na 
tym że kropka  . określa wielokrotność 
występowania w dokumencie Html, a # że 
element jest unikalny  
9. Do czego odnoszą się selektory CSS: a:link 
łacze jeszcze nie odwiedzone,  a:hover element 
(łącze) wskazany, ale nie aktywowany oraz 
a:visited łącze odwiedzone.  
10. Co to znaczy, że styl CSS może być 
przypisany do medium? Jakie rodzaje mediów 
zdefiniowane w CSS?
 • all – wszystkie media 
(wartość domyślna) 
• screen – ekran komputera 
• print – drukarka 
• projection – rzutnik (projektor) 
• handheld – urządzenia przenośne (mały ekran i 
przepustowość) 
• tv – ekran o małej rozdzielczości, bez 
przewijania 
• speech – syntezator mowy 
• braille – urządzenia z pismem Brailla 
11. Jakie atrybuty czcionki można 
formatować za pomocą CSS?  
-font-family: rodzaj, rodzaj, rodzaj-ogólny 
- font-size: wielkość [em, pt, px, %] | small | 
medium| large 
- line-height: wielkość [em, pt, px, %] 
- font-style: normal | italic 
- font-weight: normal | bold | liczba 
100, 200, 300, 400=normal, 500, 600, 700=bold, 
800, 900 
- font-variant: normal | smallcaps 
p { font-family: Arial, sans-serif; } 
h1 { font-size: 150% } 
Łączone cechy czcionki: 
- font: [font-style font-variant font-weight] 
font-size [/line-height] font-family 
body { font: bold italic 12pt/15pt serif } 
 

background image

12. Jakie atrybuty tekstu można formatować 
za pomocą CSS?
                                                   
- color: RGB 
- text-decoration: none | underline | line-through 
|overline 
- text-transform: none | capitalize | uppercase | 
lowercase 
- text-align: left | right | center | justify 
- text-indent: wielkość- 
- line-height: wielkość 
- word-spacing: normal | wielkość 
- letter-spacing: normal | wielkość 
p { color: teal; } 
p.warning {text-transform: capitalize } 
a { text-decoration: none; } 
h1 { letter-spacing: 0.25em } 

 

PHP  
1.Na czym polega różnica między statycznymi 
a dynamicznymi stronami WWW? 
Statyczne strony internetowe charakteryzują się 
zdefiniowaną „na sztywno” strukturą, której 
zmiana wymaga ingerencji webmastera. 
Podstawowe strony www zawierają do kilku 
podstron, na których zawarte są kluczowe 
informacje. 
Dynamiczne strony www są oparte na systemie 
zarządzania treścią CMS z wykorzystaniem bazy 
danych (MySQL), który pozwala odbiorcy na 
samodzielne wykonanie aktualizacji strony czyli 
dodaniu nowych produktów do oferty, zdjęć, 
artykułów, informacji, nowości i wszystkiego 
czego sobie tylko życzy. 
2.Wymień przykładowe zastosowania 
dynamicznych serwisów WWW. 
Zastosowania: 
• Portale informacyjne 
zawartość informacyjna modyfikowana 
odrębnymi narzędziami, zapisywana w bazie 
danych, 
• Sklepy internetowe 
dostępne towary opisane w bazie danych, 
podobnie zamówienie złożone przez 
użytkownika, 
• Bankowość internetowa 
• Systemy nauczania na odległość 
materiały dydaktyczne, testy zaliczeniowe, dane 
instruktorów oraz słuchaczy (w tym wyniki 
testów) zapisane w bazie danych 
• Fora internetowe, serwisy społecznościowe, 
serwisy Wiki, … 
• Systemy CMS (Content Management System) 
 
 

3.W jakich sytuacjach można stosować 
serwisy statyczne WWW? Jakie zalety ma 
serwis
 statyczny w porównaniu z 
dynamicznym? 
Zalety serwisów statycznych WWW: 
- prostota rozwiązań związanych z 
implementacją 
Wady dynamicznych serwisów WWW: 
- dłuższy czas implementacji 
- wymagają bazy danych na serwerze 
(nie jestem pewny odpowiedzi na pytanie nr 3) 
4.Jakie platformy programistyczne są 
najczęściej wykorzystywane do tworzenia
 
dynamicznych serwisów WWW? 
Platformy: 
• Dedykowane serwery 
Programy obsługujące komunikację TCP/IP na 
porcie 80 TCP, dowolny język (np. BCB, Delphi 
lub MS VS + pakiet InDy) 
• Skrypty CGI (Common Gateway Interface) 
skrypty (Perl, Python) lub programy (dowolny 
język) 
• PHP 
skrypty generujące HTML, z możliwością 
załączania HTML; wbudowane wsparcie HTTP i 
baz danych 
• JSP (Java Server Pages), JSF (Java Server 
Faces) 
znaczniki (nie HTML), przetwarzane przez 
JSP/JSF na HTML, środowisko RAD, 
automatyczne powiązania z kodem (zdarzenia) 
• ASP.NET (Active Server Pages) 
technologia MS, funkcjonalnie podobna do JSF; 
różne języki programowania (Visual Basic, C#, 
Java) 
5.Wymień najważniejsze cechy języka PHP 
• Język skryptowy – programy PHP nie są 
kompilowane do kodu binarnego, lecz 
interpretowane na bieżąco podczas wykonywania 
• Działa po stronie serwera – skrypt PHP 
generuje dokument HTML, wyświetlany przez 
przeglądarkę – nie wymaga określonej 
przeglądarki, jej wersji lub wtyczek 
• Język obiektowy, z potężnymi bibliotekami (w 
tym PEAR) oraz obsługą baz danych i 
dokumentów XML 
• Opracowany specjalnie do tworzenia 
dynamicznych stron WWW – wbudowana 
obsługa HTTP (w tym odczyt i generowanie 
nagłówków, przekazywanie parametrów dla 
metod GET i POST, obsługa plików Cookie i 
sesji, …), możliwość osadzania HTML 
 
 

background image

6.Na czym polega różnica pomiędzy 
operatorami == oraz ===? 
== równe 
=== identyczne 
7.Na czym polega różnica pomiędzy 
łańcuchami tekstowymi ograniczonymi 
cudzysłowami oraz apostrofami? 
• Łańcuchy ograniczone cudzysłowami – 
interpreter wyłapuje nazwy zmiennych i 
zastępuje ich wartościami: 
$s1 = "./images/reddot.png"; 
echo "<img src='$s1'>"; 
echo "<img src=\"$s1\">"; // " -> \" 
Można też stosować tzw. notację złożoną: 
echo "<img src={$s1}>"; 
Notacja taka może się przydać również gdy tuż 
za nazwą zmiennej nie występuje separator (np. 
spacja lub apostrof): 
$s2 = "reddot"; 
echo "<img src='./images/{$s2}.png'>"; 
• Łańcuchy ograniczone apostrofami – nie da się 
włączyc wartości zmiennej: 
$s = 100; 
echo 'Val: {$x}'; // Val: {$x} 
Niezależnie od sposobu rozwijania zmiennych 
(tj. $x albo {$x}), 
PHP nie zastąpi nazwy zmiennej jej wartością. 
8.Podaj składnię i przykład użycia instrukcji 
warunkowej if-else. 
Składnia: 
if (warunek) 
instrukcja1 
else 
instrukcja2 
 
Przykład: 
if ($delta>=0) 
echo "<p>nie ma pierwiastków rzeczywistych"; 
else 

$x1 = …; 
$x2 = …; 
echo "<p>pierwiastki: $x1, $x2"; 

9.Podaj składnię i przykład użycia instrukcji 
iteracyjnej while. 
• Składnia: 
while (warunek) 
instrukcja 
 
Przykład: 
$i=10; 
while ($i>0) 

echo "<p>{$i}"; 

$i--; 

10.Podaj składnię i przykład użycia instrukcji 
iteracyjnej for. 
Składnia: 
for (inicjalizacja; warunek; inkrementacja) 
instrukcja 
 
Przykład: 
for ($i=1; $i<=10; $i++) 
echo "<p>{$i}"; 
11.Co oznacza pojęcie tablica asocjacyjna? 
Podaj przykład zapisu i odczytu elementu 
tablicy w PHP. 

12.Podaj składnię i przykład użycia instrukcji 
iteracyjnej foreach. 
Składnia: 
foreach (tablica as [klucz => ] wartość) 
instrukcja 
 
Przykład: 
foreach ($t as $k => $w) 
echo "<p>klucz: {$k}, wartość: {$w}"; 
13.Do czego służy funkcja var_dump()? Podaj 
przykład użycia. 
var_dump – drukuje (do HTML) typ i wartość 
zmiennej 
Przykład: 
$x = 7; 
var_dump($x); // int 7 
14.Do czego służy funkcja isset()? Podaj 
przykład użycia. 
isset($x) – sprawdza, czy wskazana zmienna 
istnieje 
Przykład: 
$x = 7; 
$e = isset($x); // TRUE 
15.Do czego służy funkcja echo()? Podaj 
przykład użycia. 
Wyświetla jeden lub więcej stringów 
Przykład: 
echo "Hello world!"; 

background image

16.Na czym polega różnica pomiędzy 
funkcjami echo() oraz print() 
print() działa bardzo podobnie jak echo(); 
zasadnicza różnica polega na tym , że print 
akceptuje tylko jeden argument. 
 
Formularze 
1.Z jakich elementów składa się (w 
najprostszym przypadku) formularz HTML? 
Formularz : struktura formularza 
<form> 
|-- <???> 
|-- <fieldset> zbiór pół 
| |-- <legend> opis zbioru pół 
| |-- <input> pole danych 
|-- <fieldset> zbiór pół 
|-- <legend> opis zbioru pół 
|-- <input> pole danych 
|-- <input type="submit"> przycisk 
Wymagany jest jeden element blokowy (np. div, 
table, fieldset) 
obejmujący całą zawartość formularza. Aby 
formularz można 
było wysłać do serwera, niezbędny jest element 
typu submit. 
Formularz powinien też zawierać pola danych, 
np. typu input. 
2.Scharakteryzuj atrybuty action oraz method 
formularza HTML. 
Formularz: atrybuty action i method 
• action – formularze typowo są obsługiwane po 
stronie serwera, 
dlatego w atrybucie action trzeba podać URL 
skryptu (lub 
innego typu dynamicznej strony WWW), do 
którego zostanie 
wysłany formularz; 
• method – sposób wysłania formularza do 
serwera; formularz 
może być wysłany przez HTTP przy pomocy 
żądania POST albo 
GET – różnica polega na sposobie 
przekazywania parametrów: 
- POST –w nagłówkach HTTP 
- GET – w adresie WWW, zatem są widoczne 
dla użytkownika 
(np. 
…/forum.php?login=admin;passwd=kernel21), 
a także zapisywane w historii przeglądarki 
(bezpieczeństwo!) 
Zalecane jest oczywiście stosowanie metody 
POST. 
 
 

3.Scharakteryzuj elementy <fieldset> oraz 
<legend> formularzy HTML. 
Zbiór pól: fieldset 
• Reprezentuje zbiór powiązanych ze sobą 
elementów 
formularza; 
wyświetlany jako owalna ramka, z opcjonalnym 
podpisem w 
postaci elementu legend: 
<form> 
<fieldset> 
<legend>Tytuł</legend> 
<input …> 
</fieldset> 
</form> 
• Znacznik zamykający – obowiązkowy 
• Atrybuty: 
id, class, style, title, 
 
Opis zbioru pól: legend 
• Wyświetla opis dla elementu fieldset : 
<fieldset> 
<legend>Tytuł</legend> 
… 
</fieldset> 
• Znacznik zamykający – obowiązkowy 
• Atrybuty: 
id, class, style, title, 
accesskey – klawisz szybkiego dostępu (skrót 
klawiaturowy) 
4.Wymień rodzaje kontrolek, jakie można 
umieszczać w formularzach HTML. 
5.Scharakteryzuj atrybuty name oraz value 
kontrolek wykorzystywanych w formularzach 
HTML, np. dla <input type="checkbox" ...> 
Pole danych: atrybuty name i value 
• name – dla kontrolek, które wysyłają dane do 
serwera (text, 
password, submit, checkbox, radio, file, hidden) 
– określa 
nazwę, pod jaką zawartość kontrolki (value) 
zostanie wysłana. 
Brak atrybutu name powoduje, że zawartość 
kontrolki w ogóle 
nie jest wysłana; 
• value – znaczenie zależne od typu kontrolki: 
- text, password – wartość początkowa 
wyświetlana w kontrolce 
(przywracana po kliknięciu przycisku reset) 
- checkbox, radio – wartość wysłana o ile 
kontrolka jest 
zaznaczona (prze braku value wysyłana jest wart. 
"on"); 
jeżeli kontrolka nie jest zaznaczona, nic nie jest 
wysyłane 

background image

- hidden – wartość niewidoczna, wysyłana do 
serwera 
- submit, reset, button – opis wyświetlany na 
przycisku 
6.Jaki jest związek atrybutu name kontrolek 
wykorzystywanych w formularzach ze 
skryptami PHP odczytującymi dane 
formularzy? 
7.Scharakteryzuj element HTML <input>. 
Wymień rodzaje kontrolek, w które zmienia 
się <input> zależnie od atrybutu type. 
8.Scharakteryzuj element <input type="text" 
...> formularza HTML. 
Pole edycyjne: input type="text" 
• Jednolinijkowe pole edycyjne do wpisania 
tekstu: 
<input type="text" name="t1" 
value="tu wpisz…" size="25" maxlength="30" > 
• Ważniejsze atrybuty: 
id – identyfikator, kojarzący pole z etykietą, 
name – nazwa, pod jaką zawartość będzie 
wysłana do serwera 
value – początkowa wartość 
size – rozmiar pola 
maxlength – maksymalna długość wpisanego 
tekstu 
• Etykieta - opcjonalnie 
9.Scharakteryzuj element <input 
type="password" ...> formularza. 
Pole edycyjne hasła: input type="password" 
• Jednolinijkowe pole edycyjne do wpisania 
hasła: 
<input type="password" name="p1" 
size="25" maxlength="30" > 
• Ważniejsze atrybuty: 
id – identyfikator, kojarzący pole z etykietą, 
name – nazwa, pod jaką zawartość będzie 
wysłana do serwera 
size – rozmiar pola 
maxlength – maksymalna długość wpisanego 
tekstu 
• Etykieta - opcjonalnie 
10.Scharakteryzuj element <input 
type="checkbox" ...> formularza. 
Pole wyboru: input type="checkbox" 
• Pole edycyjne opcji niezależnych od siebie: 
<input type="checkbox" id="ch1" name="ch1" 
value="1" checked > 
<label for="ch1">Opis opcji 1</label> 
<input type="checkbox" id="ch2" name="ch2" 
value="1"> 
<label for="ch2">Opis opcji 2</label> 
• Ważniejsze atrybuty: 
id – identyfikator, kojarzący pole z etykietą, 

name – nazwa, pod jaką zawartość będzie 
wysłana do serwera 
value – wartość wysyłana, jeżeli pole jest 
zaznaczone 
(domyślnie "on"; jeżeli nie zaznaczone, nic nie 
jest wysyłane) 
checked – jeżeli wystąpi, pole jest zaznaczone 
11.Scharakteryzuj element <input 
type="radio" ...> formularza. 
Przycisk radiowy: input type="radio" 
• Pole edycyjne opcji niezależnych od siebie: 
<input type="radio" id="r1" name="rg1" 
value="1" checked > 
<label for="r1">Opis opcji 1</label> 
<input type="radio" id="r2" name="rg1" 
value="2"> 
<label for="r2">Opis opcji 2</label> 
• Ważniejsze atrybuty: 
id – identyfikator, kojarzący pole z etykietą, 
name – nazwa, pod jaką zawartość będzie 
wysłana do serwera; 
ważne! atrybut name dla grupy opcji musi być 
ten sam 
value – wartość wysyłana, jeżeli pole jest 
zaznaczone 
checked – jeżeli wystąpi, pole jest zaznaczone 
12.Scharakteryzuj element <input 
type="submit" ...> formularza. 
Przycisk submit: input type="submit" 
• Przycisk wysyłania formularza: 
<input type="submit" name="s1" 
value="Wyślij"> 
• Ważniejsze atrybuty: 
value – napis wyświetlany na przycisku w 
przeglądarce 
name – jeżeli jest, to jest też wysyłana na serwer 
– można 
utworzyć kilka przycisków i sprawdzić który 
został użyty 
Przycisk reset: input type="reset" 
• Przycisk czyszczenia formularza: 
<input type="reset" value="Wyczyść"> 
• Ważniejsze atrybuty: 
value – napis wyświetlany na przycisku w 
przeglądarce 
13.Scharakteryzuj element <select ...> 
formularza.  
Lista wyboru: select 
• Tworzy zwykłą lub rozwijaną listę wyboru: 
<select size="…" name="…"> … 
</select> 
• Znacznik zamykający – obowiązkowy 
• Atrybuty: 
id, class, style, title, 

background image

name – nazwa, pod jaką zawartość będzie 
wysłana do serwera 
size – rozmiar pola (znaczenie zależnie od typu) 
multiple – możliwość wyboru wielu pozycji na 
liście 
disabled – niedostępne dla użytkownika 
tabindex – kolejność aktywacji klawiszem 
tabulatora 
onfocus – skrypt wykonywany po uzyskaniu 
"fokusu" 
onblur – skrypt wykonywany po utracie "fokusu" 
onchange – skrypt wykonywany po modyfikacji 
zaznaczenia 
14.Scharakteryzuj element <textarea ...> 
formularza.  
Pole tekstowe: textarea 
• Tworzy wielolinijkowe pole tekstowe: 
<textarea rows="…" cols="…" name="…"> … 
</textarea> 
• Znacznik zamykający – obowiązkowy 
• Atrybuty: 
id, class, style, title, 
name – nazwa, pod jaką zawartość będzie 
wysłana do serwera 
rows, cols – liczba widocznych wierszy i kolumn 
disabled – niedostępne dla użytkownika 
readolny – pole tylko do odczytu 
onfocus – skrypt wykonywany po uzyskaniu 
"fokusu" 
onblur – skrypt wykonywany po utracie "fokusu" 
onselect – skrypt wykonywany zmianie 
zaznaczenia tekstu 
onchange – skrypt wykonywany po modyfikacji 
zaznaczenia 
15.Do czego w formularzach jest 
wykorzystywany element <label>? 
Etykieta: label 
• Reprezentuje etykietę przypisaną do pola 
danych formularza: 
<input type="…" id="ID" name="…"> 
<label for="ID">Opis komponentu</label> 
• Znacznik zamykający – wymagany 
• Atrybuty: 
id, class, style, title, 
for – id elementu opisywanego przez etykietę 
accesskey – klawisz szybkiego dostępu (skrót 
klawiaturowy) 
onfocus – skrypt wykonywany po uzyskaniu 
"fokusu" 
onblur – skrypt wykonywany po utracie "fokusu" 
• Działanie: aktywacja etykiety (skrót 
klawiaturowy lub kliknięcie) 
jest równoważne aktywacji pola danych; 
W przypadku kontrolek typu checkbox i radio – 
obowiązkowe! 

16.Wymień różnice (możliwości, sposób 
przesyłania, sposób odczytywania danych, ...)
 
pomiędzy formularzami przesyłanymi metodą 
GET i POST. 
Sposób przesyłania danych formularza do 
serwera zależy od 
wybranej metody HTTP: 
• Metoda GET 
<form method="GET" action="plik.php" 
enctype="application/x-www-form-urlencoded"> 
… 
</form> 
• Metoda POST 
<form method="POST" action="plik.php" 
enctype="multipart/form-data"> 
… 
</form> 
 
Metoda GET 
• Działanie 
dane z formularza są przesyłane w żądaniu 
HTTP: 
GET /action.php?name=value&name=value 
HTTP/1.1 
Przeglądarka wyświetla dane formularza w pasku 
adresu: 
www.sth.com/action.php?name=value&name=va
lue 
• Cechy: 
+ debugowanie, kontrola działania skryptów 
– spacje i znaki spoza ASCII są kodowane ("+", 
"%HH") 
– poufne dane są widoczne (bezpieczeństwo!) 
– żądania są zapisywane w historii 
(bezpieczeństwo!) 
– nie można przesyłać plików na serwer 
 
Metoda POST 
• Działanie 
dane z formularza są przesyłane w nagłówkach 
HTTP: 
POST /action.php HTTP/1.1 
Host: www.sth.com 
… name=value&name=value 
Przeglądarka nie wyświetla danych formularza w 
pasku adresu: 
www.sth.com/action.php 
• Cechy: 
+ poufne dane nie są widoczne ani zapisywane w 
historii 
+ można przesyłać pliki na serwer 
– dane nie są szyfrowane (pełne bezpieczeństwo 
-> HTTPS) 
 
Odczyt danych z formularza 

background image

• Dane z formularza są odczytywane z żądania 
(met. GET) albo 
z nagłówka HTTP (met. POST) i dostępne w 
skrypcie, na kilka 
możliwych sposobów: 
- zmienne $name 
- tablice $HTTP_GET_VARS albo 
$HTTP_POST_VARS 
- tablice $_GET albo $_POST 
- tablica $_REQUEST 
Niezależnie od użytej metody, wszystkie 
wartości są 
przekazywane jako łańcuchy tekstowe. 
17.W jaki sposób przesyłane są dane 
formularzy dla metody GET (albo: POST) i 
jakie ma to konsekwencje? 
18.Jakie są sposoby odczytania (w skrypcie 
PHP) danych formularza przesłanego 
metodą 
GET (albo: POST)? Które z nich nie są zalecane 
ze względów bezpieczeństwa? 
19.Jakie mogą być powody przesyłania 
formularzy metodą GET zamiast POST (albo: 
POST zamiast GET)? 
20.Wymień wady i zalety przesyłania danych 
formularza metodą GET (albo: POST). 
21.Jakie błędne założenia na temat danych 
formularza przesyłanych do serwera mogą stać 
się powodem nieprawidłowego działania witryny 
albo nawet ułatwić hakerowi atak na serwer? 
22.Jakie działania należy podjąć podczas obsługi 
formularzy, aby zmniejszyć ryzyko 
nieprawidłowego działania witryny oraz 
skuteczności ataku na serwer?