Document, comentariu, eseu, bacalaureat, liceu si facultate
Top documenteAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
Crearea formularelor HTML
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 

<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.


Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui document, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza documentul:
In prezent fisierul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite
Colt dreapta