350 likes | 483 Views
Nderveprimi me klientin. Programim ne Web Leksion 5. Format ne Web. Cfare ndodh kur dergoni nje forme ne HTML? Perdoruesi ploteson kutite e tekstit dhe klikon nje buton submit. Me pas ky informacion i dhene nga perdoruesi paketohet dhe dergohet ne web server.
E N D
Nderveprimi me klientin Programimne Web Leksion5 Iralda Mitro
Format ne Web Cfare ndodh kur dergoni nje forme ne HTML? • Perdoruesi ploteson kutite e tekstit dhe klikon nje buton submit. • Me pas ky informacion i dhene nga perdoruesi paketohet dhe dergohet ne web server. • Web serveri e merr kete informacion dhe furnizon me te motorin e skriptit te PHP-se. • PHP perpunon kete informacion dhe e kthen ate mbrapsht si pjese te pergjigjes HTTP. • Per te ndertuar nje forme ne HTML perdorim taget <FORM> </FORM> dhe çdo kontroll qe ndodhet brenda ketyre tageve, si psh kutite e tekstit, check boxet, dhe butonat radio, behen automatikisht pjese e formes qe dergohet ne web server. Iralda Mitro
Atributet e <FORM> ACTION • Atributi ACTION i tregon serverit se ne cilen faqe duhet te shkoje, pasi perdoruesi klikon nje buton submit ne forme. Nuk ka rendesi nese kjo faqe eshte HTML e thjeshte, PHP apo nese perdor ndonje teknologji server-side, per sa kohe qe faqja ekziston ne web server. <FORM ACTION="test.html"> ... </FORM> Ose <FORM ACTION="test.php"> ... </FORM> Iralda Mitro
Atributet e <FORM> • Megjithate, kur vendosim nje faqe PHP si pjese te atributit ACTION, ajo çfare bejme ne te vertete eshte dergimi i informacioneve te futura ne forme, ne interpretuesin e skripteve te PHP-se, per t’u perpunuar. • Atributi ACTION thjesht i tregon serverit ne cilen faqe te shkoje me pas. • Nese e ruani faqen e mesiperme si test.html ne vend te test.php, atehere faqja nuk do te dergohej ne interpretuesin e PHP-se dhe asgje nuk do te shfaqet po te mos konfigurohet PHP per te interpretuar (parse) skedaret .html. Iralda Mitro
Atributet e <FORM> METHOD • Atributi METHOD kontrollon menyren se si informacioni dergohet ne server. Kete mund ta beje ne dy menyra. • Keto jane metodat GET and POST dhe perdoren si me poshte: <FORM ACTION="test.php" METHOD=GET> ose <FORM ACTION="test.php" METHOD=POST> IraldaMitro
GET • Metoda GET i tregon browserit qe te shtoje ne URL vlerat qe perdoruesi vendosi ne forme. • Per kete browseri shton nje pikepyetje (?) ne fund te URL-se per te treguar se ku mbaron URL-ja dhe ku fillon informacioni i formes. • Me pas informacioni i formes transmetohet ne formen e çifteve emer/vlere. • Nje çift emer/vlere punon ne menyre te ngjashme me nje variabel. Pjesa e pare eshte emri, i cili vepron si nje identifikues. Pjesa e dyte eshte vlera qe doni te ruani. Psh: ?animal=cat • Ketu "animal“ eshte emri, ndersa "cat" eshte vlera. Kjo mund t’i shtohet URL-se si vijon: http://www.nonexistentserver.com/test.php?animal=cat Iralda Mitro
GET • Browseri shton automatikisht informacionin ne URL kur dergon kerkesen e faqes ne web server. Ne URL mund te shtoni me shume se nje çift emer/vlere nese çdo çift e ndani me nje ampersand (&).Psh: • http://www.nonexistentserver.com/test.php?furryanimal=cat&spikyanimal=porcupine • Pjesa e shtuar ne URL njihet si nje query string. • Thame qe çiftet emer/vlere jane si variablat. Ne fakt kur ato kalohen ne web server per perpunim, PHP-ja i ben ato te vlefshme si variabla. Iralda Mitro
GET • Sipas rastit mund t’ju nevojitet te kaloni hapesira ne vlerat qe perbejne query string-un. • Psh: nese keni nje form, qe ka nje tag <TEXTAREA> dhe dikush shkruan pergjigje hapesiren e tekstit, query stringu do te jete si me poshte: • http://chrisu/form.php?TextArea=I+would+like+to+see+a+dynamic+menu+in+operation • Ne rastin e mesipermplusi (+) zevendesonhapesirat. Iralda Mitro
Kodimi URL • Po neseduamtevendosimnje (+) ne Textarea? • Ne keterastkarakteri ne fjaleduhettezevendesohetnganjekod, icilinenkuptonketekarakterteveçante. • KynjihetsiKodimi URL-se • Nje bashkesi karakteresh te veçanta nuk mund te shfaqen ne URL, prandaj per ato behet nje kodim ne URL. (Ne fakt perdoruesi nuk duhet te beje asgje per te bere kodimin sepse kjo kryhet nga vete browseri, i cili zevendeson çdo karakter te tille me nje kod.) • Query stringu me %20 ne vend tehapesires do teduketsi me poshte: http://chrisu/form.php?TextArea=I%20would%20like%20to%20see%20a%20dynamic%20menu%20in%20operation Iralda Mitro
Kodimi URL Ketojanedisashembujkodimesh URL Iralda Mitro
POST • Njedisavantazhi query string-uteshte se informacionieshtepublik. • Nesenukdeshironiqeinformacioniideguarnga forma temosshfaqet ne URL, atehereduhetteperdornimetoden POST. • Ajopunonpothuajse ne menyreidentike me metoden GET, me ndryshiminqeinformacioni ne formedergohet ne trupin e kerkeses HTTP, ne vend qetedergohetsipjese e URL-se. • GjithashtuPOST lejontetransmetohetnjesasi e madheinformacioni, ndersa ne GET ka njekufifizik per sasine e tedhenaveqemundtetransmetohetsipjese e URL-se. Iralda Mitro
Duhet te perdorim GET apo POST? • Per kete ka njeperzierjeopinionesh: • Disathoneqenukduhetteperdornipothuajsekurremetoden GET, per shkaktepasigurisedhekufizimit ne madhesi • Te tjerethoneqeduhetteperdorni GET per temarreinformacion, ndersa POST duhetteperdoretkurdoqemodifikonitedhenat ne web server. • Njedisavantazhi POST eshteqefaqet e ngarkuara me POST nukmundteshenjohen (book-marked) siçduhet, kursefaqet e ngarkuara me GET permbajne ne URL tegjitheinformacioninqenevojitet per teriprodhuarkerkesen. • Ne shumerastemundteshenjonirezultatet e dergimitteformes duke perdorur GET, psh ne njekerkim ne Google. Prandajshumemotorekerkimiperdorin GET. • http://www.google.com/search?q=web Iralda Mitro
Duhet te perdorim GET apo POST? • Gjithashtuedhevetemetoda POST nukeshte e sigurte, meqeinformacionivendoset ne trupin e kerkeses HTTP dhenukeshteidukshemmenjehere. Informacioninukeshteienkriptuardheperserimundtekapetlehtesishtnganje hacker. Per tevertetuarqeeshteisigurte, junevojitetnjelidhje e sigurte me nje server tesigurte. • Se cilenmetodeduhetteperdorni, kjovaretngaajoçfaredeshironiqetebeje forma: • Neseperdorni GET keniparasyshkufizimetdhefaktinqeinformacionetjanetedukshme per kedo. • Neseperdorni POST, keniparasyshqeajonukmundshenjohetngamotorekerkimidhevetem per faktin se eshte me e fshehte, nuk do tethote se eshte me e sigurte. Iralda Mitro
Kontrollet e formes ne HTML dhe PHP • Si do te perdoren kontrollet ne HTML per te mbledhur informacionet e dhena ne nje forme ? • Si mund te perdorim PHP-ne per te arritur me pas ne kete informacion? • Te gjithe shembujt do te kerkojne dy faqe web. • E para terheq informacionin e postuar nga perdoruesi • Nuk permban asnje skript PHP. Ne fakt ne shume site, faqja web qe permban formen do te jete HTML e paster dhe do te kete prapashtesen .htm ose .html. • E dyta e kthen informacionin nga web serveri dhe interpretuesi i skripteve, ne browser. Iralda Mitro
Text Fields (Text Boxes) Faqja e dyte test.php <HTML> <HEAD></HEAD> <BODY> Your favorite author is: <?php echo $_REQUEST[Author]; ?> </BODY> </HTML> • Faqja e pare index.html <HTML> <HEAD></HEAD> <BODY> <FORM METHOD=GET ACTION="test.php"> Who is your favourite author? <INPUT NAME="Author“ TYPE="TEXT"> <BR> <BR> <INPUT TYPE=SUBMIT> </FORM> </BODY> </HTML> Iralda Mitro
Text Fields (Text Boxes) Iralda Mitro
Text Fields (Text Boxes) • Pasi perdoruesi klikon ne butonin submit atehere afishohet faqja test.php, si me poshte: • KUJDES: Emrat e variablave jane case-sensitive. Iralda Mitro
Text Areas Faqja e dyte textarea.php <HTML> <HEAD></HEAD> <BODY> Your favorite web sites are: <?php echo $_REQUEST[WebSites]; ?> </BODY> </HTML> • Faqja e pare textarea.html • <HTML> • <HEAD></HEAD> • <BODY> • <FORM METHOD=POST ACTION="textarea.php"> • What are your favourite web sites? • <TEXTAREA NAME="WebSites" COLS="50" ROWS="5"> • http:// • http:// • http:// • http:// • </TEXTAREA> • <BR><BR> • <INPUT TYPE=SUBMIT> • </FORM> • </BODY> • </HTML> Iralda Mitro
Text Areas Iralda Mitro
Text Areas • Vereni URL-ne, http://chrisu/textarea.php. Ne keterasteshteperdorurmetoda POST, prandajnuk ka query string ne URL. • Vereni edhe qe ne faqen e pare, kur shkruajme tekstin brenda textareas, nuk perdorim taget <BR>, per te ndare rreshtat. • Ndersa ne faqen e dyte kur afishojme permbajtjen e variablit $WebSites informacioni afishohet ne nje rresht te vetem. Iralda Mitro
Check Boxes Faqja e dyte checkbox.php <HTML> <HEAD></HEAD> <BODY> <?php echo $_REQUEST[Choice]; ?> </BODY> </HTML> Faqja e pare checkbox.html <HTML> <HEAD></HEAD> <BODY> <FORM METHOD=POST ACTION="checkbox.php"> Have you ever eaten haggis before? <INPUT NAME="Choice" TYPE="Checkbox"> <BR> <BR> <INPUT TYPE=SUBMIT> </FORM> </BODY> </HTML> Iralda Mitro
Check Boxes • Ne kete rast nese perdoruesi klikon (vendos shenjen) ne check box, atehere ne faqen tjeter do te afishohet ‘on’ ndersa nese nuk eshte e check-uar atehere nuk afishohet asgje. Pra ketu krijohet nje variabel qe nuk merr nje vlere te caktuar nga ne dhe ne rastin e dyte variabli nuk permban asnje vlere. Iralda Mitro
Multiple Check Boxes Faqja e dyte checkboxes.php <HTML> <HEAD></HEAD> <BODY> <?php echo “$_REQUEST[Choice1] <BR>"; echo “$_REQUEST[Choice2] <BR>"; echo “$_REQUEST[Choice3] <BR>"; ?> </BODY> </HTML> Faqja e pare checkboxes.html <HTML> <HEAD></HEAD> <BODY> <FORM METHOD=POST ACTION="checkboxes.php"> Have you ever eaten haggis before? <INPUT NAME="Choice1" TYPE="Checkbox" VALUE="Haggis"> <BR> Have you ever eaten snails before? <INPUT NAME="Choice2" TYPE="Checkbox" VALUE="Snails"> <BR> Have you ever eaten locusts before? <INPUT NAME="Choice3" TYPE="Checkbox" VALUE="Locusts"> <BR><BR> <INPUT TYPE=SUBMIT> </FORM> </BODY> </HTML> Iralda Mitro
Multiple Check Boxes Iralda Mitro
Multiple Check Boxes • KUJDES: Neseiemertonitegjithe checkbox-et me tenjejtinemeratehereedheneseklikonidisa checkbox-e, do teafishohetvetemvlera e checkkbox-it tefunditqekenizgjedhur. Have you ever eaten haggis before? <INPUT NAME="Choice" TYPE="Checkbox" VALUE="Haggis"> <BR> Have you ever eaten snails before? <INPUT NAME="Choice" TYPE="Checkbox" VALUE="Locusts"> <BR> Have you ever eaten locusts before? <INPUT NAME="Choice" TYPE="Checkbox" VALUE="Snails"> Iralda Mitro
Radio Buttons Faqja e dyte radio.php <HTML> <HEAD></HEAD> <BODY> <?php echo "You selected the answer: $_REQUEST[Question1]"; ?> </BODY> </HTML> Faqja e pare radio.html <HTML> <HEAD></HEAD> <BODY> <FORM METHOD=GET ACTION="radio.php"> What is the capital of Portugal? <BR> <BR> <INPUT NAME="Question1" TYPE="Radio" VALUE="Porto">Porto <BR> <INPUT NAME="Question1" TYPE="Radio" VALUE="Lisbon">Lisbon <BR> <INPUT NAME="Question1" TYPE="Radio" VALUE="Madrid">Madrid <BR><BR> <INPUT TYPE=SUBMIT> </FORM> </BODY> </HTML> Iralda Mitro
Radio Buttons Ne faqen tjeter do te afishohet “You selected the answer: Lisbon” Iralda Mitro
Faqja e pare listbox.html <HTML> <HEAD></HEAD> <BODY> <FORM METHOD=GET ACTION="listbox.php"> What price of car are you looking to buy? <BR><BR> <SELECT NAME="Price"> <OPTION>Under $5,000</OPTION> <OPTION>$5,000-$10,000</OPTION> <OPTION>$10,000-$25,000</OPTION> <OPTION>Over $25,000</OPTION> </SELECT> <BR><BR>What size of engine would you consider?<BR><BR> <SELECT NAME="EngineSize[]" MULTIPLE> <OPTION>1.0L</OPTION> <OPTION>1.4L</OPTION> <OPTION>1.6L</OPTION> <OPTION>2.0L</OPTION> </SELECT> <BR><BR><INPUT TYPE=SUBMIT> </FORM> </BODY> </HTML> IraldaMitro
ListBox Faqja e dyte listbox.php <HTML> <HEAD></HEAD> <BODY> <?php echo "Price Range: $_REQUEST[Price]"; echo "<BR>Engine Size(s): {$_REQUEST[EngineSize][0]}"; echo "<BR>{$_REQUEST[EngineSize][1]}"; echo "<BR>{$_REQUEST[EngineSize][2]}"; echo "<BR>{$_REQUEST[EngineSize][3]}"; ?> </BODY> </HTML> Iralda Mitro
ListBox Iralda Mitro
Fushat e fshehura te formave • Nesejuduhettemerrniinformacioninqepermbahet ne njefaqe web dhetakaloni ate ne njefaqetjeter, pa kerkuar input ngaperdoruesi, atehereperdornifushate fshehura: • hidden form field (osehidden control), tecilatjanesi textbox-e, porqenukduken ne faqenweb <INPUT TYPE=HIDDEN NAME=Hidden1 VALUE="Secret Message"> Iralda Mitro
Faqja e pare hidden.php <HTML> <HEAD></HEAD> <BODY> <?php $Message1="Bugs Bunny"; $Message2="Homer Simpson"; $Message3="Ren & Stimpy"; echo "<FORM METHOD=GET ACTION='hidden2.php'>"; echo "Which of the following would win in a shootout?"; echo "<SELECT NAME='ListBox'>"; echo "<OPTION>$Message1</OPTION>"; echo "<OPTION>$Message2</OPTION>"; echo "<OPTION>$Message3</OPTION>"; echo "</SELECT><BR><BR>"; echo "<INPUT TYPE=HIDDEN NAME=Hidden1 VALUE='$Message1'>"; echo "<INPUT TYPE=HIDDEN NAME=Hidden2 VALUE='$Message2'>"; echo "<INPUT TYPE=HIDDEN NAME=Hidden3 VALUE='$Message3'>"; echo "<INPUT TYPE=SUBMIT>"; echo "</FORM>"; ?> </BODY> </HTML> Iralda Mitro
Fushat e fshehura te formave Faqja e dyte hidden2.php <HTML> <HEAD></HEAD> <BODY> <?php echo "The three options were:<BR>"; echo "$_REQUEST[Hidden1]<BR>"; echo "$_REQUEST[Hidden2]<BR>"; echo "$_REQUEST[Hidden3]<BR>"; echo "<BR>You selected:<BR>"; echo "$_REQUEST[ListBox]"; ?></BODY> </HTML> Iralda Mitro
Fushat e fshehura te formave Iralda Mitro