<titlu> d8i15ij
Crearea formularelor HTML</titlu>
<titlu>Scopuri</titlu>
• Invatati sa proiectati formulare HTML eficiente si usor de utilizat
• Invatati sa creati formulare HTML care includ controale ce accepta
text si optiuni ale utilizatorului
• Invatati sa scrieti programe PHP care obtin accesul la datele
ce provin din formularele HTML
Majoritatea programelor PHP folosesc formulare HTML pentru a prelua datele de
la utilizator si pentru a afisa rezultatele calculelor, in cadrul acestui
modul, veti invata sa creati formulare HTML care permit programelor dumneavoastra
HTML sa interactioneze cu utilizatorul.
<titlu>Notiuni fundamentale de proiectare a formularelor</titlu>
Unii programatori experimentati cred ca pot determina instantaneu si in
mod intuitiv aspectul si modul de functionare ale oricarui formular HTML. In
loc de a proiecta un formular HTML, acesti programatori pur si simplu il
creeaza. Deseori, rezultatele descalifica pretentiile acestor programatori cu
privire la cunostintele obtinute intuitiv. Multe formulare de proasta calitate
au fost create in acest mod.
O metoda mai buna, atat pentru programatorii neexperimentati, cat
si pentru cei cu experienta, este proiectarea formularului anterior crearii
acestuia, in faza de proiectare, luati in considerare metode alternative
de aranjare a formularului si, in cele din urma, identificati o structura
mai buna decat celelalte. Daca nu ati avut in vedere alternative,
nu aveti nici un motiv de a crede ca structura formularului dumneavoastra este
mai buna decat alte structuri posibile. Ca atare, daca „sariti"
peste faza de proiectare veti obtine formulare de calitate inferioara.
<titlu>Proiectarea unui formular</titlu>
O modalitate oportuna de proiectare a unui formular consta in utilizarea
hartiei si a creionului. O tabla de culoare alba sau neagra este o solutie
si mai buna, daca dispuneti de asa ceva. In cazul in care preferati
instrumentele automatizate, puteti folosi un editor HTML de tip WYSIWYG. Toate
aceste metode de proiectare au un element comun: se pot sterge cu usurinta o
parte sau chiar toate elementele de
proiectare existente si se poate relua activitatea de la inceput. Cercetari
efectuate asupra activitatii de proiectare au aratat ca proiectantii cu experienta
o iau de la inceput mai frecvent decat cei neexperimentati; acestia
din urma tind sa se canto¬neze intr-o structura initiala si nu iau
in considerare alternative potential mai bune.
Principalele sarcini in proiectarea unui formular HTML le constituie alegerea
controalelor HTML care vor fi incluse in formular, selectarea amplasamentului
controalelor si alegerea etichetelor acestora. Cu toate acestea, proiectarea
nu este un proces de tip „pas cu pas", care poate fi parcurs in
mod mecanic. Este un proces bazat pe oportunism, ceea ce inseamna ca modalitatea
optima de a parcurge urma¬toarea etapa de proiectare este „in
orice mod posibil". Iata cateva instructiuni elementare pentru proiectarea
formularelor HTML:
• Alegeti controale care sunt adecvate pentru categoria de date pe care
le aduna si pentru interactiunile pe care le furnizeaza. Sectiunea urmatoare,
care explica fiecare control HTML in parte, va va ajuta sa procedati astfel.
• Etichetari cu claritate fiecare control, astfel incat utilizatorul
sa inteleaga functia acestuia.
•In masura posibilitatilor, aliniati etichetele si marginile din
stanga ale controalelor. Structura unui formular bine proiectat este asemanatoare
cu aceea a unei pagini de ziar, fiind compusa dintr-o serie de coloane in
cadrul carora fiecare element vizual este aliniat cu elementele plasate deasupra,
respectiv dedesubtul sau. Puteti obtine acest tip de structura folosind tabele
HTML sau eticheta BR.
• Grupati controalele corelate si separati fiecare asemenea grup de celelalte
grupuri prin incorporarea de spatii albe in structura dumneavoastra.
• Secventa de controale din formular trebuie sa fie asemanatoare cu ordinea
in care le va manipula utilizatorul. In caz contrar, utilizatorul va fi
obligat sa piarda timp navigand de la un control la altul.
Este important sa retineri ca acestea sunt doar indrumari, nu reguli.
Nefiind reguli, puteti opta pentru incalcarea lor, din cand in
cand. Acest lucru nu constituie o greseala, atat timp cat
sunteti convins ca rezultatul incalcarii unei recomandari este superior
rezultatului respectarii acesteia. De exemplu, recomandarile pot reprezenta
indrumari contradictorii intr-o anumita situatie, in acest
caz, sunteti obligat sa incalcati o recomandare sau alta.
Pentru a determina daca o varianta de proiectare este superioara alteia, este
util sa cereti parerea unui utilizator. Daca nici un utilizator nu va poate
fi de ajutor, obtineti asistenta unui alt programator, in cel mai rau
caz, straduiti-va sa va puneti dumneavoastra insiva in rolul unui
utilizator al formularului, intrebati pe utilizator sau pe inlocuitorul
acestuia daca formularul este clar, usor de utilizat si eficient, in caz
afirmativ, este momentul sa treceti mai departe si sa creati efectiv formularul
HTML.
<titlu>Crearea unui formular HTML</titlu>
Daca procesul de proiectare este bazat pe oportunism, procesul de creare a unui
formular HTML pornind de la structura dumneavoastra este mai direct. Mai intai,
creati schita HTML elementara, care va contine controalele din formularul dumnea¬voastra.
Apoi, incorporati controalele in structura; in particular,
un formular HTML trebuie sa includa un buton de expediere pe care utilizatorul
executa clic pentru a trimite serverului datele din formular. Deoarece o singura
pagina HTML poate contine mai multe formulare, puteti repeta de mai multe ori
etapele intermediare ale acestui proces. Sub-sectiunile urmatoare detaliaza
procesul de creare a unui for¬mular HTML.
<titlu>Crearea structurii HTML</titlu>
Structura HTML pe care o folositi pentru a include un formular nu este deloc
diferita, de fapt, de cea folosita pentru includerea unei pagini HTML obisnuite.
De exemplu, iata o structura caracteristica:
<HTML>
<HEAD>
<TITLE>Titlul paginii este inserat aici</TITLE>
</HEAD>
<BODY>
Continutul paginii sau al formularului este inserat aici
</BODY>
</HTML>
In interiorul corpului unei pagini HTML care contine un formular puteti folosi
orice eticheta HTML obisnuita. Pentru a descrie formularul in sine, folositi
eticheta FORM, care are urmatoarea forma elementara:
<FORM METHOD="metoda" ACTION="url">
Atributul METHOD al etichetei FORM poate lua una din valorile GET sau POST.
Pentru moment, specificati intotdeauna valoarea POST. Atributul ACTION
specifica adresa URL a scriptului PHP care prelucreaza datele adunate prin intermediul
formula¬rului. Adresa URL poate fi o adresa completa, care include protocolul,
numele gazdei si calea de acces, respectiv o adresa partiala, care specifica
o locatie relativa la locatia paginii curente, intre eticheta FORM si
eticheta sa /FORM corespunzatoare, plasati controalele formularului.
<Sfatul specialistului>
Intrebare:Cand creez un formular HTML, cand trebuie sa specific
GET in loc de POST ca valoare a atributului METHOD?
Raspuns: Ca incepator, este mai bine sa folositi in mod consecvent
metoda POST, deoarece alegerea intre metodele GET si POST este destul
de complicata. </Sfatul specialistului>
Ca regula empirica, multi programatori folosesc GET pentru formulare care executa
o cautare sau o interogare, respectiv POST pentru formulare care actualizeaza
o baza de date sau un fisier. Doua dezavantaje ale metodei GET sunt acelea ca
impune o limita asupra cantitatii de date care pot fi trimise scriptului de
prelucrare si ca transfera date prin atasarea sirurilor codificate la adresa
URL a scriptului de prelucrare. Astfel, datele trimise prin metoda GET pot fi
vizualizate de catre utilizator. Un avantaj al metodei GET este acela ca utilizatorii
pot insera semne de carte in rezultatele unei interogari sau ale unei
cautari care foloseste metoda GET, dar nu pot executa aceeasi operatie in
cazul unei interogari sau al unei cautari care foloseste metoda POST. Desigur,
utilizatorii pot insera un semn de carte la pagina care contine un formular
ce foloseste metoda POST; rezultaele sunt cele unde nu se poate insera semnul
de carte.
<titlu>Incorporarea controalelor</titlu>
Aceasta sub-sectiune descrie doua controale elementare pe care le veti folosi
frecvent: caseta cu text si butonul de expediere. In sectiunea urmatoare, veti
afla mai multe despre controalele pe care le puteti folosi in constructia
formularelor HTML.
O caseta cu text permite utilizatorului sa tasteze informatii care pot fi apoi
trimise unui script PHP. Casetele cu text sunt frecvent folosite pentru a obtine
date precum numele utilizatorului, adresa sa postala sau adresa de e-mail. Pentru
a crea o caseta cu text, scrieti o eticheta HTML care are urmatoarea forma elementara:
<INPUT TYPE="TEXT" NAME="text">
Atributul NAME atribuie casetei cu text un nume, astfel incat continutul
sau sa fie accesibil unui script PHP. Numele pe care il atribuiti unui
control trebuie sa fie unic in cadrul formularului si trebuie sa respecte
regulile pentru denumirea variabile!or PHP, cu exceptia faptului ca numele nu
trebuie sa inceapa cu simbolul dola¬rului. Cu alte cuvinte, numele
trebuie sa inceapa cu o litera si nu trebuie sa contina alte caractere
in afara literelor, a cifrelor si a caracterelor de subliniere; in
particular, numele nu trebuie sa contina spatii. HTML nu are o eticheta /INPUT,
deci nu incer¬cati sa combinati o eticheta INPUT cu o asemenea eticheta.
Un buton de expediere permite utilizatorului sa trimita serverului continutul
unui formular. Fiecare formular HTML trebuie sa aiba un buton de expediere.
Pentru a crea un buton de expediere, scrieti o eticheta HTML care are urmatoarea
forma elementara:
<INPUT TYPE="SUBMIT" VALUE="text">
Atributul VALUE specifica textul care trebuie sa apara pe suprafata butonului
de expediere.
Iata un formular HTML complet, care include casete cu text ce preiau numele
si adresa de e-mail a utilizatorului:
<HTML>
<HEAD>
<TITLE>Numele si adresa de e-mail ale utilizatorului</TITLE>
</HEAD>
<BODY>
<FORM METHOD=”POST” ACTION=”phpinfo.php”>
<H3> Numele si adresa de e-mail ale utilizatorului</H3>
<BR>Nume:
<BR><INPUT TYPE=”TEXT” NAME=”numele_utilizatorului”>
<BR>Adresa de e-mail:
<BR><INPUT TYPE=”TEXT” NAME=”adresa_email”>
<BR>
<BR><INPUT TYPE=”SUBMIT” VALUE=”Trimite datele”>
</FORM>
</BODY>
</HTML>
Observati utilizarea etichetelor BR pentru alinierea etichetelor si a con¬troalelor,
precum si numele atribuite controalelor de tip caseta cu text. Cand utilizatorul
executa clic pe butonul de expediere, datele introduse de utilizator sunt trimise
scriptului phpinfo.php. Ilustratia alaturata prezinta aspectul formularului.
<imagine> Numele si adresa de e-mail ale utilizatorului
Nume
Adresa de e-mail:
Trimite datele </imagine>
<titlu>Lucrul cu formulare multiple</titlu>
In interiorul corpului unei pagini HTML se pot include mai multe for mulare. Daca procedati astfel, nu uitati sa inserati o eticheta </FORM>
anterior etichetei <FORM> a urmatorului formular. Browserul utilizatorului
va face indigestie daca suprapuneri formulare intr-o pagina.
Iata un exemplu simplu de pagina care contine mai multe formulare:
<HTML>
<HEAD>
<TITLE>Numele si adresa de e-mail ale utilizatorului</TITLE>
</HEAD>
<BODY>
<FORM METHOD=”POST” ACTION=”phpinfo.php”>
<H3> Numele si adresa de e-mail ale utilizatorului</H3>
<BR>Nume:
<BR><INPUT TYPE=”TEXT” NAME=”numele_utilizatorului”>
<BR>Adresa de e-mail:
<BR><INPUT TYPE=”TEXT” NAME=”adresa_email”>
<BR>
<BR><INPUT TYPE=”SUBMIT” VALUE=”Trimite datele”>
</FORM>
<FORM METHOD=”POST” ACTION=”phpinfo.php”>
<H3> Numerele de telefon si fax ale utilizatorului</H3>
<BR>Numar de telefon:
<BR><INPUT TYPE=”TEXT” NAME=”telefon”>
<BR>Fax
<BR><INPUT TYPE=”TEXT” NAME=”fax”>
<BR>
<BR><INPUT TYPE=”SUBMIT” VALUE=”Trimite datele”>
</FORM>
</BODY>
</HTML>
Cand utilizatorul executa clic pe butonul de expediere, datele incluse
in cam¬purile formularului care contine butonul pe care s-a
executat clic sunt trimise la server. Astfel, serverul primeste fie un nume
si o adresa de e-mail, fie numerele de telefon si de fax, nu continutul tuturor
celor patru campuri.
<Sfatul specialistului>
Intrebare: Daca aptitudinile mele in materie de HTML sunt reduse
sau „ruginite"? Unde imi pot revizui cunostintele de HTML pentru
a putea crea formulare?
Raspuns:Pentru a invata sau pentru a recapitula elementele fundamentale
ale limbajului HTML, va propun cartea lui Wendy Willard HTML: Ghidul incepato¬rului
(Osborne, 2000)*. Ca si alte volume din seria Ghidul incepatorului, cartea
lui Wendy contine teste „la minut" si proiecte care contribuie la
consolidarea mate¬rialului citit. De asemenea, cartea mai contine module
referitoare la JavaScript si foile de stil in cascada, tehnologii care
pot fi utilizate eficient alaturi de PHP. </Sfatul specialistului>
<Test „la minut">
• Care sunt atributele care trebuie specificate in eticheta FORM?
• Care este controlul pe care trebuie sa-1 contina toate formularele HTML?
• Care este eticheta HTML folosita pentru crearea unei casete cu text?
</Test „la minut">
<Nota>
Sau oricare dintre excelentele carti de HTML traduse si publicate de Editura
Teora. -NT. Raspunsuri la test:
• Atributele METHOD si ACTION
• Butonul de expediere
• INPUT</Nota>
<Titlu>Proiectul 3-1: Vizualizarea campurilor unui formular</titlu>
In cadrul acestui proiect, veti invata sa vizualizati datele transmise
de un formular HTML catre scriptul sau de prelucrare. Veti descoperi utilitatea
acestei caracteristici atunci cand trebuie sa depanati un formular HTML
sau un script de prelucrare.
<Scopurile proiectului>
• Exersarea crearii unui script PHP si a unui formular HTML
• Capacitatea de a sesiza rezultatele expedierii unui formular HTML</Scopurile
proiectului>
<titlu>Pas cu pas</titlu>
1 . Plasati urmatorul script HTML intr-un fisier denumit p-3-1 .php si
incarcati acest fisier in serverul dumneavoastra PHP:
<?php
// Fisierul p-3-1.php
?>
2. Plasati urmatoarea pagina HTML intr-un fisier denumit p-3-1 .html
si incarcati acest fisier in serverul dumneavoastra PHP, plasandu-l
in acelasi catalog ca si fisierul p-3-1 .php:
<HTML>
<HEAD>
<TITLE>Numele si adresa de e-mail ale utilizatorului</TITLE>
</HEAD>
<BODY>
<!--Fisierul p-3-1.html -->
<FORM METHOD=”POST” ACTION=”p-3-1.php”>
<H3> Numele si adresa de e-mail ale utilizatorului</H3>
<BR>Nume:
<BR><INPUT TYPE=”TEXT” NAME=”numele_utilizatorului”>
<BR>Adresa de e-mail:
<BR><INPUT TYPE=”TEXT” NAME=”adresa_email”>
<BR>
<BR><INPUT TYPE=”SUBMIT” VALUE=”Trimite datele”>
</FORM>
</BODY>
</HTML>
3. Orientati un browser Web spre adresa URL a fisierului care contine formularul
HTML. Introduceti numele unui utilizator si adresa sa de e-mail, apoi executati
clic pe butonul de expediere.
4. Cand scriptul de prelucrare p-3-1 .php este executat, acesta afiseaza
un raport amanuntit cu privire la starea serverului PHP. In sectiunea
intitulata „Variabile PHP", puteti gasi informatii cu privire la
cele doua controale de tip caseta cu text, in speta nume_utilizator si
adresa_email, asa cum se poate vedea in ilustratia urmatoare. Remarcati
valorile introduse de utilizatorul formularului.
<imagine>
PHP Variables
Variable Value
PHP_SELF /Ibmccarty/php/module-03/proiect-3-1a.php
HTTP_POST_VARSa“user_name”i Bill McCarty
HTTP_POST_VARSa“email_address”i mccartyb@osborne.com </imagine>
<titlu>Crearea controalelor formularului</titlu>
In sectiunea anterioara, ati invatat sa creati controalele de tip
caseta cu text si buton de expediere, in sectiunea de fata si in
cea urmatoare, veti extinde repertoriul controalelor dumneavoastra astfel incat
sa includeti intreaga gama de controale disponibile.
<titlu>Crearea casetelor cu text personalizate</titlu>
Sectiunea precedenta a prezentat sintaxa elementara pentru crearea unei casete
cu text. Cu toate acestea, HTML furnizeaza numeroase atribute suplimentare care
va permit sa modificati aspectul si comportamentul unei casete cu text. Iata
sintaxa completa pentru crearea unei casete cu text:
<INPUT TYPE=”TEXT” NAME=”text” SIZE=”numar”
MAXLENGTH=”numar” value=”text”>
Atributele TYPE si NAME sunt obligatorii; celelalte atribute sunt optionale.
Atributul SIZE, care este dat sub forma unui numar de caractere, stabileste
dimensiunea vizibila a casetei cu text; atributul MAXLENGTH specifica numarul
maxim de caractere pe care utilizatorul are permisiunea de a le tasta. Valoarea
atributului MAXLENGTH o poate depasi pe aceea a atributului SIZE, in care
caz continutul controlului defileaza spre dreapta atunci cand utilizatorul
a introdus SIZE caractere. Atributul VALUE constituie o valoare care este afisata
initial in caseta cu text.
<Sugestie>
Este important sa cunoasteti aspectul si modul de comportare a casetei cu text
si a altor controale HTML de formular. Proiectul care apare la sfarsitul
acestei sectiuni va va oferi posibilitatea de a acumula experienta in
crearea controalelor si in lucrul cu acestea.</sugestie>
<titlu>Crearea de suprafete cu text</titlu>
Ca o caseta cu text, o suprafata cu text permite unui utilizator sa introduca
text. Cu toate acestea, o suprafata cu text poate permite utilizatorului sa
introduca mai multe linii de text, in timp ce o caseta cu text permite
utilizatorului sa introduca o singura linie. Iata sintaxa pentru crearea unei
suprafete cu text:
<TEXTAREA NAME=”text” ROWS=”numar” COLS=”numar”
WRAP=”wrap”>
Atributele NAME si ROWS sunt obligatorii; atributele COLS si WRAP sunt optionale.
Atributul ROWS specifica numarul liniilor de text vizibile in suprafata
cu text; deoa¬rece suprafata de text defileaza dupa ce a fost umpluta, utilizatorul
poate introduce linii suplimentare. Atributul COLS specifica numarul coloanelor
de text vizibile in suprafata cu text; deoarece suprafata cu text se deruleaza
sau se infasoara dupa ce s-a umplut, utilizatorul poate introduce linii
mai lungi. Atributul WRAP specifica maniera de infasurare a textului in
interiorul suprafetei cu text. Atributul WRAP poate avea urmatoarele valori:
<Valoare>Off</valoare> <descriere> infasurarea cuvintelor
la sfarsitul liniei de text este dezactivata;utilizatorul poate introduce
caractere de sfarsit de linie pentru a forta infasurarea liniilor</descriere>
<valoare>Virtual</valoare> <Descriere>liniile par infasurate,
dar caracteristica de infasurare a liniilor nu este trimisa la server</descriere>
<valoare>physical</valoare> <descriere> infasurarea
cuvintelor la sfarsitul liniei de text este activata</descriere>
<valoare>soft</valoare> <descriere>Identic cu virtual</descriere>
<valoare>hard</valoare> <descriere> Identic cu physical</descriere>
O eticheta TEXTAREA trebuie combinata cu o eticheta /TEXTAREA. Orice text care
apare intre etichete va fi prezentat drept continut initial al controlului
de tip supra¬fata cu text.
<titlu>Crearea casetelor cu parola</titlu>
Daca o aplicatie impune unui utilizator sa introduca o parola, puteti crea o
caseta cu text in acest scop. Totusi, cand utilizatorul introduce
parola, orice persoana aflata in apropiere poate vizualiza parola, situatie
care duce la o posibila bresa de securi¬tate, in loc de a se folosi
o caseta cu text pentru introducerea de informatii confi¬dentiale, trebuie
sa folositi o caseta cu parola. Pentru a crea o caseta cu parola, folositi aceeasi
sintaxa ca si cea utilizata pentru crearea unei casete cu text, cu exceptia
faptului ca specificati PASSWORD (parola) in loc de TEXT ca valoare a
atribu¬tului TYPE:
<INPUT TYPE=”PASSWORD” NAME=”text” SIZE=”numar”
MAXLENGTH=”numar” VALUE=”text”>
Atributele unei casete cu parola au aceeasi semnificatie ca si acelea ale unei
casete cu text.
<titlu>Crearea casetelor de validare</titlu>
Pentru date care pot avea numai una din doua valori, cum ar fi „pornit"
sau „oprit", caseta de validare este controlul ideal. De exemplu,
caseta de validare este un control adecvat pentru a permite utilizatorului sa
opteze pentru livrarea rapida a unui colet. In cazul in care caseta de
validare corespunzatoare este validata, coletul va fi livrat mai rapid; in
caz contrar, coletul se va deplasa cu mijloacele obisnuite.
Pentru a crea o caseta de validare, folosiri urmatoarea sintaxa:
<INPUT TYPE=”CHECKBOX” NAME=”text” CHECKED VALUE=”text”>
Atributul TYPE este obligatoriu; atributele NAME, CHECKED si VALUE sunt optionale.
Daca atributul CHECKED apare, caseta de validare va fi selectata in mod
prestabilit; in caz contrar, caseta de validare nu este selectata initial.
Atributul VALUE specifica valoarea care este trimisa serverului in cazul
in care caseta de validare este selectata; daca atributul nu este specificat,
se va trimite valoarea on (activat).
<titlu>Crearea butoanelor radio</titlu>
Ca si casetele de validare, butoanele radio pot avea numai una din doua valori.
Cu toate acestea, butoanele radio sunt organizate in grupuri, iar la un
moment dat poate fi activat un singur buton radio din cadrul unui grup; toate
celelalte trebuie sa fie dezacti¬vate. Butoanele radio sunt utile pentru
a permite unui utilizator sa aleaga dintr-o serie de alternative mutual exclusive.
De exemplu, puteti folosi un set de trei butoane radio pentru a permite utilizatorului
sa specifice tipul de ambalaj pentru cadou: fara ambalaj, cu ambalaj simplu
sau sofisticat Numai unul dintre cele trei butoane radio poate fi activat; la
un loc, setul de butoane radio ofera utilizatorului o tripla optiune.
Pentru a crea un buton radio, folositi urmatoarea sintaxa:
<INPUT TYPE=”RADIO” NAME=”text” CHECKED VALUE=”text”>
Retineti ca aceasta este aceeasi sintaxa folosita pentru crearea unei casete
de validare, cu deosebirea ca atributul TYPE are valoarea RADIO in locul
valorii CHECKBOX. Atributele unui buton radio au aceeasi semnificatie ca si
acelea ale unei casete de validare. Totusi, atributul NAME este obligatoriu
pentru butoanele radio, chiar daca este optional pentru casetele de validare.
Toti membrii unui set de casete de validare prezinta aceeasi valoare a atributului
NAME.
<titlu>Crearea de selectii</titlu>
O selectie este un meniu care defileaza, de unde utilizatorul poate alege una
sau mai multe optiuni. De exemplu, intr-o selectie pot fi enumerate garniturile
pentru pizza, astfel incat un utilizator sa poata selecta orice
combinatie de garnituri pe care o doreste. Pentru a crea o selectie, folositi
urmatoarea sintaxa:
<SELECT NAME=”text” MULTIPLE SIZE=”numar”> etichetele
OPTION se insereaza aici</SELECT>
Eticheta SELECT este folosita in combinatie cu eticheta /SELECT, intre
cele doua etichete este inclusa o serie de etichete OPTION.
Intr-o eticheta SELECT, numai atributul NAME este obligatoriu. Atributul
MULTIPLE arata ca utilizatorul poate alege mai multe optiuni mentinand
apasata tasta CTRL si executand clic pe acestea. In absenta atributului
MULTIPLE, utilizatorul poate selecta o singura optiune. Daca specificati atributul
MULTIPLE, trebuie sa specificati si un atribut NAME, care atribuie un nume de
tablou ca nume al controlului. De exemplu, un control de tip selectie care permite
utilizatorului sa aleaga mai multe garnituri pentru desert trebuie denumit folosind
sintaxa garnituraai, nu garnitura.
Comportarea unei selectii care permite o singura optiune este echivalenta cu
aceea a unui set de butoane radio, dar aspectul unei selectii este diferit de
acela al unui set de butoane radio, asa cum veti vedea in proiectul de
la sfarsitul acestei sectiuni. Atributul SIZE specifica numarul optiunilor
vizibile. Prin utilizarea unui buton de derulare in jos sau a unei bare
de defilare, utilizatorul poate manipula selectia pentru a obtine accesul la
restul optiunilor si a alege dintre acestea.
Asa cum s-a aratat, o selectie este asociata cu una sau mai multe optiuni. Pentru
a crea o optiune care urmeaza a fi utilizata in cadrul unei selectii,
folositi urmatoarea sintaxa:
<OPTION SELECTED VALUE=”text”>continutul optiunii este inserat
aici</OPTION>
Eticheta OPTION este combinata cu o eticheta /OPTION. Textul dintre aceste
eti¬chete este cunoscut sub numele de continut al optiunii. Continutul optiunii
apare in controlul SELECT. Multi programatori HTML omit eticheta /OPTION,
caz in care textul optiunii se extinde pana la urmatoarea eticheta
OPTION sau /SELECT. Totusi, s-ar putea ca acest mod de utilizare sa nu fie compatibil
cu versiunile ulterioare ale standar¬dului HTML.
Ambele atribute ale etichetei OPTION sunt optionale. Daca apare atributul VALUE,
valoarea sa este trimisa serverului atunci cand este selectata optiunea
asociata; in caz contrar, continutul optiunii este trimis la server. Atributul
SELECTED arata ca optiunea corespunzatoare este selectata initial; in
caz contrar, optiunea respectiva nu este selectata initial.
<titlu<Crearea campurilor ascunse</titlu>
Uneori este utila crearea asa-numitelor campuri ascunse. Valorile campurilor
ascunse sunt trimise la server alaturi de valorile altor controale; cu toate
acestea, utilizatorul nu are posibilitatea de a vizualiza sau manipula valorile
campurilor ascunse.
Campurile ascunse se utilizeaza frecvent in cadrul unei serii de
formulare. De exemplu, datele introduse de utilizator in primul formular
din serie pot fi necesare
in formularele ulterioare, in loc de a determina utilizatorul sa
introduca datele in fiecare formular, datele pot fi stocate intr-un
camp ascuns, creat si initializat de scriptul care prelucreaza primul
formular. Astfel, utilizatorul este scutit de o munca suplimentara si sunt preintampinate
eventualele erori, care ar fi putut aparea daca utilizatorul nu ar fi introdus
aceleasi date in formularele ulterioare. Pentru a crea un camp ascuns,
folositi urmatoarea sintaxa:
<INPUT TYPE=”HIDDEN” NAME=”text” VALUE=”text”>
Numai atributele TYPE si NAME sunt obligatorii; cu toate acestea, controlul
este practic inutil in absenta atributului VALUE, a carui valoare este
trimisa in mod auto¬mat la server in momentul expedierii formularului.
<Sfatul specialistului>
Intrebare: Am vazut formulare HTML care permit unui utili¬zator sa
expedieze serverului continutul unui fisier. Cum se poate realiza acest lucru?
Raspuns: Puteti permite utilizatorului sa aleaga un fisier si apoi sa trimita
serverului continutul fisierului creand un control de tip fisier, prin
intermediul urmatoarei sintaxe: <INPUT TYPE="FILE" NAME="nume"
ACCEPT="tip_mime" VALUE="text">
Atributul TYPE este singurul obligatoriu; cu toate acestea, in general,
apare si atributul NAME. Atributul VALUE specifica un nume de fisier prestabilit.
Atributul ACCEPT specifica formatul continutului fisierului. Pot fi indicate
mai multe for¬mate, dar fiecare format trebuie separat de vecinii sai prin
intermediul unei virgule. Formatul este specificat folosind un cod MIME (Multipurpose
Internet Mail Extensions). Tabelul urmator descrie formatele folosite cel mai
frecvent:
<tabel>
*Tip MIME
*Tip de date
*Extensii de fisier
*application/msexcel
*Microsoft Excel
*xls
*application/msword
*Microsoft Word
*doc, dot
*application/octet-stream
*Binara
*exe
*application/pdf
*Adobe Acrobat
*pdf
*application/postscript
*Postscript
*ai, eps, ps
*application/ppt
*Microsoft PowerPoint
*ppt
*application/zip
*Date comprimate in format ZIP
*zip
*audio/midi
*Musical Instrument Digital Interface (MIDI)
*mid, midi
*audio/x-wav
*Windows Audio Format (WAV)
*wav
*image/gif
*Compuserve GraphicsInterchange Format (GIF)
*gif
*image/jpeg
*Joint Photographics Expert Group (JPEG)
*jpeg, jpg, jpe
*image/TIFF
*Tagged Image Format (TIF)
* tif, tiff
*text/HTML
*HTML
*htm, html
*text/plain
*Text simplu
*txt
*text/richtext
*Rich Text Format (RTF)
*rtf
*video/mpeg
*Secventa video
*mpg, mpv, mpe, mpeg
*video/quicktime
*Secventa video
* qt, mov
*video/x-msvideo
*Secventa video
* avi
</tabel>
Eticheta FORM de delimitare trebuie sa aiba POST ca valoare a atributului sau
METHOD. De asemenea, trebuie sa includa un atribut ENCTYPE cu valoarea multipart/
form-data. Iata sintaxa pe care trebuie sa o folositi:
<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="url">
Este posibil ca serverul dumneavoastra sa nu fie configurat astfel incat
sa accepte fiecare tip MIME. Consultati-va cu administratorul serverului dumnea¬voastra,
pentru a determina daca tipul de date pe care doriti sa-1 folosiri este acceptat
in mod corespunzator.</sfatul specialistului>
<Test „la minut">
• Scrieri un program HTML care creeaza o caseta cu text cu latimea egala
cu 40 de caractere si care permite utilizatorului sa introduca maximum 80 de
caractere.
• Scrieti un program HTML care creeaza o suprafata cu text avand
latimea egala cu 80 de coloane, inaltimea de 10 randuri si care
accepta infasurarea textului la sfarsitul liniei de text.
• Scrieti un program HTML care creeaza o caseta de validare selectata
initial si care trimite serverului valoarea „la moda".
• Scrieti un program HTML care creeaza o pereche de butoane radio care
va permit sa specificati valoarea „adevarat" sau valoarea „fals".</Test
„la minut">
<titlu>Proiect 3-2 O caseta HTML aglomerata</titlu>
In acest proiect, veti crea o caseta aglomerata, un formular HTML care
contine o varietate de controale. Veti putea manipula controalele si vizualiza
datele pe care le trimit acestea unui script de prelucrare asociat formularului.
Acest proiect este important pentru a dobandi o intelegere solida
a fiecarui con¬trol folosit in formularele HTML, inclusiv aspectul
si comportamentul acestuia.
<nota>
Raspunsuri la test:
• <INPUT TYPE="TEXT" NAME="xxxx" SIZE='40"
MAXLENGTH=”80">
• <TEXTAREA NAME="xxxx" COLS="80" ROWS='10"
WRAP="physical"></TEXTAREA>
• <INPUT TYPE="CHECKBOX" NAME="xxxx" CHECKED VALUE="la
moda">
• <INPUT TYPE="RADIO" NAME="xxxx" VALUE="adevarat">
si<INPUT TYPE="RADIO" NAME=" xxxx " VALUE="fals"></nota>
<Scopurile proiectului>
• Acumularea de experienta in crearea controalelor care alcatuiesc
un formular HTML
• Prezentarea aspectului si comportamentului controalelor care alcatuiesc
un formular
• Furnizarea unui mod de a exersa utilizarea atributelor si valorilor
asociate etichetelor HTML care precizeaza controalele dintr-un formular</Scopurile
proiectului>
<titlu>Pas cu pas</titlu>
1. Plasati urmatorul script PHP intr-un fisier denumit p-3-2.php si incarcati
acest fisier in serverul dumneavoastra PHP:
<?php
// Fisierul p-3-2.php phpinfo()
?>
2. Plasati urmatoarea pagina HTML intr-un fisier denumit p-3-2.html si
incarcati acest fisier in serverul dumneavoastra PHP, plasandu-l
in acelasi catalog ca si fisierul p-3-2.php:
<HTML>
<HEAD>
<TITLE>0 caseta aglomerata</TITLE>
</HEAD>
<BODY>
<!--Fisierul p-3-2.html -->
<FORM METHOD=”POST”ACTION=”p-3-2.php”>
<H3>0 caseta ocupata</H3>
<BR> Caseta cu text:
<BR><INPUT TYPE =”TEXT”NAME=”caseta_cu_text”>
<BR>
<BR> Caseta cu parola:
<BR>INPUT TYPE=”PASSWORD „ NAME=”caseta_cu_parola”>
<BR>
<BR>Suprafata cu text:
<BR>
<TEXTARE NAME=”Suprafata_cu_text” ROWS=”5” COLS=”40”
WRAP=”physical”>
Aici introduceti adresa dumneavoastra.
</TEXTARE>
<BR>
<BR>Casete de validare:
<BR> INPUT TYPE=”CHECKBOX”
NAME=”mic_dejun”>Mic dejun
<BR> INPUT TYPE=”CHECKBOX”
NAME=”dejun”>Dejun
<BR> INPUT TYPE=”CHECKBOX”
NAME=”cina”>Cina
<BR>
<BR>Butoane radio:
<BR><INPUT TYPE=”RADIO” NAME=”butonradio”
VALUE=”francez” CHECKED>Francez
<BR><INPUT TYPE=”RADIO” NAME=”butonradio”
VALUE=”italian” CHECKED>Italian
<BR><INPUT TYPE=”RADIO” NAME=”butonradio”
VALUE=”rusesc” CHECKED>Rusesc
<BR>
<BR>
Selectati:
<BR><SELECT MULTIPLE NAME="selectai">
<OPTION SELECTED VALUE="branza">Branza
<OPTION VALUE="Extra">Branza Extra
<OPTION SELECTED VALUE="pepperoni">Pepperoni
<OPTION VALUE="carnati">Carnati
<OPTION VALUE="salam">Salam
<OPTION VALUE="ciuperci">Ciuperci
</SELECT>
<BR>
<BR>
<INPUT TYPE="HIDDEN" NAME="comoara"
VALUE="inestimabila">
<BR>
<BR>
<BR><INPUT TYPE="SUBMIT" VALUE="Trimite datele">
</FORM>
</BODY>
</HTML>
3. Orientati un browser Web spre adresa URL a fisierului care contine formularul
HTML. Imaginea afisata pe ecran de browserul dumneavoastra trebuie sa fie asemanatoare
celei prezentate in figura 3-1. Examinati controalele din formular, observand
aspectul aces¬tora. Exersati utilizarea controalelor, pentru a vedea care
sunt tipurile de comportament posibile, in momentul in care sunteti
multumit de valorile pe care le-ati specificat, executati clic pe butonul de
expediere pentru a trimite serverului datele din formular.
<figura3-1>
O caseta aglomerata care contine un formular HTML ce include controale.
A Busy Box
Text Box:
My name
Password Box:
************
Text Area:
My address
Check Boxes:
Breakfast
Lunch
Dinner
Radio Buttons:
French
Italian
Russian
Select
Cheese
Extra Cheese
Pepperoni
Sausage
Send the Data
</figura 3-1>
4. Cand scriptul de prelucrare p-3-2.php este executat, afiseaza un raport
amanuntit cu privire la starea serverului PHP. In sectiunea intitulata
„Variabile PHP", puteti gasi infor¬matii cu privire la valorile
variabilelor folosite in formular, asa cum se poate vedea in figura
3-2.
<figura 3-2>
Valorile campurilor trimise serverului de catre caseta aglomerata care
contine un formular HTML ce include controale.
PHP Variables
<Variable> PHP_SELF</Variable> <Value> /Ibmccarty/php/module-03/project-3-2a.php</value>
<Variable>HTTP_POST_VARSa“textbox”i </Variable><value>my
name</value>
<Variable>HTTP_POST_VARSa“passwordbox”i</Variable><value>my
password</value>
<Variable>HTTP_POST_VARSa“textarea”i</Variable><value>my
address</value>
<Variable>HTTP_POST_VARSa“breakfast”i</Variable><value>on</value>
<Variable>HTTP_POST_VARSa“radiobutton”i</Variable><value>
frenck</value>
<Variable>HTTP_POST_VARSa“select”i</Variable><value>Arraya0i
cheese a1i pepperoni </value>
<Variable>HTTP_POST_VARSa“treasure”i</Variable><value>
inestimable</value>
</figura 3-2>
5. Acum, cand puteti vedea care este modul de functionare a programului
HTML original, modificati-l pentru a determina efectul diferitelor atribute
si valori. De exemplu, eliminati atributul MULTIPLE din selectie si incercati
sa alegeti mai multe garnituri pentru pizza. Pentru ca modificarile aduse programului
HTML sa fie vizibile in browserul dumnea¬voastra, nu uitati sa actualizati
pagina dupa ce ati modificat-o si ati incarcat-o in server.
<titlu>Alte notiuni referitoare la expedierea unui formular</titlu>
In sectiunile anterioare ale acestui modul, ati invatat modul de creare
a formularelor HTML care pot trimite date unui server. In aceasta sectiune,
veti invata mai multe despre procesul de expediere a formularelor. In
particular, veti invata sa folositi o imagine in locul unui buton
de expediere, sa creati un buton de reinitializare, sa creati o pagina care
contine mai multe formulare si sa transferati informatii unui script prin intermediul
adresei URL a scriptului.
<titlu>Utilizarea unei imagini pentru expedierea datelor</titlu>
Aspectul unui buton de expediere este monoton si obisnuit. Daca aspectul paginii
dumneavoastra este important, puteti folosi o imagine in locul unui buton
de expediere. O asemenea imagine se numeste, uneori, buton imagine. Cand
un utilizator executa clic pe un buton imagine, datele din formular sunt trimise
serverului, ca si cum utilizatorul ar fi executat clic pe un buton de expediere.
Pentru a crea un buton imagine folositi urmatoarea sintaxa:
<INPUT TYPE="IMAGE" SRC="url" NAME="text"
ALIGN="aliniere">
Atributele SRC si TYPE sunt obligatorii; celelalte atribute sunt optionale.
Atributul SRC determina adresa URL a fisierului care contine imaginea ce va
fi afisata. Atributul NAME atribuie un nume controlului de tip buton imagine.
Atributul ALIGN poate lua oricare din valorile top (sus), middle (la mijloc)
sau bottom (jos) si specifica modul de aliniere a butonului imagine relativ
la textul inconjurator.
<Sugestie>
Proiectul dat la sfarsitul acestei sectiuni include un buton imagine.
Efectuati acest proiect, pentru a va familiariza cu aspectul si modul de comportare
a butoanelor imagine.</sugestie>
<titlu>Crearea unui buton de reinitializare</titlu>
Uneori, este folositor ca utilizatorul sa poata executa clic pe un buton care
sa stearga toate informatiile incluse intr-un formular. Un asemenea buton
se numeste buton de reinitializare. Pentru a crea un buton de reinitializare,
folositi urmatoarea sintaxa:
<INPUT TYPE=”RESET” VALUE=”text”>
Unicul atribut obligatoriu este TYPE. Atributul optional VALUE specifica textul
care va aparea pe suprafata butonului de reinitializare; daca atributul este
omis, pe buton va scrie „Reset".
<titlu>Crearea unei pagini care contine mai multe formulare</titlu>
Asa cum s-a aratat, puteti include mai multe formulare intr-o singura
pagina HTML. Fiecare formular trebuie sa-si aiba propriul sau buton sau propria
sa ima¬gine pentru expedierea datelor. Un buton de reinitializare din cadrul
unui formular se aplica numai formularului care il contine.
Iata un exemplu de pagina care contine mai multe formulare:
<HTML>
<HEAD>
<TITLE>O pagina cu mai multe formulare</TITLE>
</HEAD>
<BODY>
<!--Primul formular -- >
<FORM METHOD=”POST”
ACTION=”procesare-formular-client.php”>
<BR>Numele clientului:
<BR>INPUT TYPE =”TEXT” NAME=”nume_client”>
<BR><INPUT TYPE=”SUBMIT”
VALUE=”Trimite formularul clientului”>
</FORM>
<!-- Al doilea formular -- >
<FORM METHOD=”POST”
ACTION=”procesare-formular-furnizor.php”>
<BR>Numele furnizorului:
<BR>INPUT TYPE =”TEXT” NAME=”nume_furnizor”>
<BR><INPUT TYPE=”SUBMIT”
VALUE=”Trimite formularul furnizorului”>
</FORM>
</BODY>
</HTML>
Pagina contine doua formulare: unul pentru expedierea informatiilor aferente
clientului si altul pentru expedierea informatiilor referitoare la furnizor.
Fiecare formular isi are propriul sau buton de expediere. In functie
de butonul de expediere pe care s-a executat clic, la server va fi trimis, in
vederea prelucrarii, numele unui client sau al unui furnizor.
In acest exemplu, fiecare formular dispune de propriul sau script de prelucrare.
Cu toate acestea, se poate folosi un singur script pentru prelucrarea datelor
prove¬nite de la fiecare formular. Un asemenea script poate determina daca
lucreaza cu un formular de client sau cu unul de furnizor, in functie
de campurile si valorile pe care le primeste.
<titlu>Utilizarea unei legaturi pentru a furniza date unui script</titlu>
In afara de a expedia unui script datele dintr-un formular prin intermediul
campurilor din formular, puteti expedia date cu ajutorul adresei URL a
scriptului, asa cum se specifica in atributul ACTION al etichetei FORM.
Pentru aceasta, atasati la sfarsitul adresei URL un semn al intrebarii
(?) si apoi includeti o serie de perechi nume-valoare cu urmatoarea forma:
nume1=valoare1&nume2=valoare2&nume3=valoare3
Exemplul include numai trei perechi nume-valoare; cu toate acestea, puteti
include oricate asemenea perechi doriti, in functie de limita impusa
de browserul utilizatorului.
<Sfatul specialistului>
Intrebare: Daca doresc sa trimit unui script, prin intermediul adresei
sale URL, caractere speciale precum un semn al intrebarii, un semn egal
sau un ampersand? Nu se creeaza confuzie in acest mod?
Raspuns: Da. Pentru a functiona corect, un sir trebuie sa fie codificat URL.
Pentru a codifica URL un sir care contine o interogare, caracterele speciale
se inlocuiesc cu echivalentele lor hexazecimale, precedate de un simbol
procent (%). Pentru detalii, consultati documentul Request for Comments (RFC)
1738, dispo¬nibil la adresa www.rfc.net. Unele dintre cele comune caractere
speciale si echiva¬lentele lor codificate URL sunt prezentate in tabelul
3-1.
De exemplu, forma codificata URL a sirului "la multi ani!" este %22la
multi ani%21%22.</sfatul specialistului>
Adresa URL rezultanta se numeste sir de interogare si nu poate contine spatii.
Daca doriti sa trimiteti un spatiu ca parte a unui sir de interogare, trimiteti
in locul spatiului un semn plus (+). Iata un exemplu de sir de interogare
care codifica numele autorului acestei carti:
https://www.osborne.com/search.cgi?author=Bill+McCarty
<tabelul 3-1>Codificarile URL ale caracterelor speciale frecvent utilizate
*Caracter special
*Echivalent codificat URL
*.
*%2e
*?
*%3e
*^
*%5e
*I
*%7e
*+
*%2b
*`
*%2c
*/
*%2f
*:
*%3a
*;
*%3b
*<
*%3c
*=
*%3d
*>
*%3e
*a
*%5b
*\
*%5c
*i
*%5d
* *%5f
*A
*%7b
*|
*%7c
*S
*%7d
*tab
*%09
*Spatiu
*%20
*!
*%21
57
*“
*%22
*#
*%23
*$
*%24
*%
*%25
*&
*%26
*`
*%27
*(
*%28
*)
*%29
*@
*%40
*`
*%60
</tabelul 3-1>
<Test „la minut">
• Scrieti un program HTML care creeaza un buton imagine cu numele „Start!"
• Scrieti un program HTML care creeaza un buton de initializare cu numele
„Reluare de la inceput".
• Scrieti un sir de interogare care trimite variabila culoare si valoarea
rosu serverului de la adresa www.osborne.com/test. </Test „la minut">
<titlu>Proiect 3-3: O pagina HTML care contine mai multe formulare</titlu>
In cadrul acestui proiect, veti crea o pagina HTML care contine doua formulare.
Un formular are un buton de expediere, iar celalalt are un buton imagine. Ambele
formulare dispun de butoane de reinitializare. Valorile atributelor ACTION ale
celor doua formulare includ siruri de interogare codificate URL trimise serverului
in momentul expedierii formularului.
<titlu>Scopurile proiectului</titlu>
• Dobandirea de experienta in crearea si utilizarea paginilor
care contin mai multe formulare
• Prezentarea aspectului si a comportamentului butoanelor imagine si a
butoanelor de reinitializare
• Prezentarea sirurilor de interogare
<titlu>Pas cu pas</titlu>
1. Plasati urmatorul script PHP intr-un fisier denumit p-3-3.php si incarcati
acest fisier pe serverul dumneavoastra PHP:
<?php
// Fisierul p-3-3.php phpinfo()
?>
<Nota>
Raspunsuri la test:
• <INPUT TYPE="IMAGE" SRC="xxx" NAME="Start!">
• <INPUT TYPE="RESET" VALUE="Reluare de la inceput">
• https://www.osborne.com/test/?culoare=rosu </nota>
2. Plasati urmatoarea pagina HTML intr-un fisier denumit p-3-3.html si
incarcati acest fisier in serverul dumneavoastra PHP, plasandu-l
in acelasi catalog ca si fisierul p-3-2.php:
<HTML>
<HEAD>
<TITLE>Alte detalii despre expedierea formularelor</TITLE>
</HEAD>
<BODY>
<!--Fisierul p-3-3.html -->
<H3>Alte detalii despre expedierea formularelor</H3>
<FORM METHOD=”POST”
ACTION=p-3-3.php?module=3&project=3”>
<BR>Numele clientului:
<BR><INPUT TYPE=”TEXT” NAME=”NUMELE_CLIENTULUI”>
<BR>
<BR><INPUT TYPE=”RESET” VALUE=”Sterge datele din
formular”>
<BR>
<BR><INPUT TYPE=”SUBMIT” VALUE=”Trimite formularul”>
</FORM>
<HR>
<FORM METHOD=”POST” ACTION=p-3-3.php”>
<BR>Numele furnizorului
<BR><INPUT TYPE=”TEXT” NAME=”numele_furnizorului”>
<BR>
<BR><INPUT TYPE=”RESET” VALUE=”Sterge formularul”>
<BR>
<BR><INPUT TYPE=”IMAGE” SRC=”button.gif”>
</FORM>
</BODY>
</HTML>
Apoi, descarcati fisierul button.gif din situl Web aferent acestei carti si
incarcati-l in serverul dumneavoastra PHP, plasandu-l in
acelasi catalog ca si scriptul PHP si fisierul HTML.
3. Orientati un browser Web spre adresa URL a fisierului care contine formularul
HTML. Browserul dumneavoastra va afisa date asemanatoare celor prezentate in
figura 3-3. Completati ambele campuri text si executati clic pe unul din
butoanele de reinitializare (Clear the Form). Remarcati ca butonul de reinitializare
sterge numai campurile din formularul care contine butonul respectiv.
4. Executati clic pe butonul de expediere. Browserul dumneavoastra trebuie sa
afiseze ceva similar cu ilustratia prezentata in figura 3-4.
5. Observati modul in care perechile nume-valoare din sirul de interogare
apar in lista variabilelor PHP, alaturi de valoarea cuprinsa in
caseta cu text.
6. Folositi butonul Back al browserului pentru a reveni la pagina cu mai multe
formulare. Executati clic pe butonul imagine. Retineti diferentele dintre ilustratia
afisata de browser si cea prezentata in figura 3-4. Remarcati modul in
care un script PHP poate executa prelucrarea mai multor formulare, prin examinarea
variabilelor si a valorilor acestora?
<figura 3-3> Pagina care contine mai multe formulare
More on Suhmithng Fofms - Microsoft Internet Explorer
More on Submitting Forms
Customer Name: Joe Customer
<buton> Clear the Form</buton>
<buton>Submit the Form</buton>
Supplier Name: Jane Supplier
<buton> Clear the Form</buton>
<buton negru> This is an image Button: Click it</buton negru>
</figura 3-3>
<figura 3-4>Valorile campurilor trimise serverului de catre pagina
care contine mai multe formulare.
Microsoft Internet Explorer
PHP Variables
<Variable> PHP_SELF</Variable><value>/Ibmccarty/php/module-03/project-3-3a.php</value>
<Variable> HTTP_GET_VARSa„module”i</Variable><value>3</value>
<Variable> HTTP_GET_VARSa„project”i</Variable><value>3</value>
<Variable> HTTP_POST_VARSa„customer_name”i</Variable><value>Joe
Customer</value>
</figura 3-4>
<Test de evaluare>
1. Scrieti o eticheta HTML FORM care isi trimite datele unui script situat
la adresa https://www.osborne.com/cgi-bin/test.
2. Scrieti un program HTML care creeaza un control cu mai multe linii, denumit
adresa, pentru introducere de text. Controlul trebuie sa poata contine 5 randuri
a 80 de caractere fiecare.
3. Scrieti un program HTML care creeaza un meniu derulant denumit culoare, care
contine principalele culori substractive, in speta rosu, galben si albastru.
Faceti de asa maniera incat meniul sa accepte o singura selectie.
Specificati culoarea rosie ca optiune prestabilita.
4. Scrieti un program HTML pentru crearea unui set de butoane radio denumite
dimensiune, care permit utilizatorului sa aleaga din urmatoarele valori: mic,
mediu si mare.
5. Scrieri un program HTML pentru crearea unui formular care isi trimite
datele la adresa www.dev.null. Formularul trebuie sa contina un camp ascuns
denumit script, care contine meniul cu valori.