Professional Documents
Culture Documents
PHP - Form
Format ne Web
Tagu FORM
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.
Atributet e FORM
Tagu <FORM> ka nje bashkesi atributesh nder te cilet ne do te perdorim
ACTION and METHOD.
C2 General
Format ne Web
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. Ai mund te perdoret per t’u
lidhur me nje faqe HTML, si me poshte:
<FORM ACTION="test.html">
...
</FORM>
Ose , per nje faqe PHP:
<FORM ACTION="test.php">
...
</FORM>
C2 General
Format ne Web
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.
C2 General
Format ne Web
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>
C2 General
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
C2 General
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 (&).
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.
C2 General
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:
C2 General
Kodimi URL
Ne rastin e mesiperm plusi (+) zevendeson hapesirat.
Po nese duam te vendosim nje (+) ne Textarea? Ne kete rast
karakteri ne fjale duhet te zevendesohet nga nje kod, i cili
nenkupton kete karakter te veçante.
Ky njihet si Kodim i 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 te hapesires do te duket si me
poshte:
http://chrisu/form.php?TextArea=I%20would%20like%20to%20
see%20a%20dynamic%20menu%20in%20operation
C2 General
Kodimi URL
C2 General
POST
Nje disavantazh i query string-ut eshte se informacioni eshte
publik.
Nese nuk deshironi qe informacioni i derguar nga forma te
shfaqet ne URL, atehere duhet te perdorni metoden POST.
Ajo punon pothuajse ne menyre identike me metoden GET,
me ndryshimin qe informacioni ne forme dergohet ne trupin e
kerkeses HTTP, ne vend qe te dergohet si pjese e URL-se.
Kjo do te thote qe nuk eshte e dukshme per kedo, sepse nuk
shtohet ne URL.
Gjithashtu POST lejon te transmetohet nje sasi e madhe
informacioni, ndersa ne GET ka nje kufi fizik per sasine e te
dhenave qe mund te transmetohet si pjese e URL-se.
C2 General
Duhet te perdorim GET apo POST?
Per kete ka nje perzierje opinionesh: disa thone qe nuk
duhet te perdorni pothuajse kurre metoden GET, per shkak
te pasigurise dhe kufizimit ne madhesi, te tjere thone qe
duhet te perdorni GET per te marre informacion, ndersa
POST duhet te perdoret kurdo qe modifikoni te dhenat ne
web server. Pra nuk ka rregulla te prera per kete.
C2 General
Text Fields (Text Boxes)
Pasi perdoruesi klikon ne butonin submit atehere afishohet faqja
text.php, si me poshte:
C2 General
Check Boxes
Faqja e pare checkbox.html Faqja e dyte checkbox.php
<HTML> <HTML>
<HEAD></HEAD> <HEAD></HEAD>
<BODY>
<BODY>
<FORM METHOD=POST
ACTION="checkbox.php"> <?php
Have you ever eaten haggis before? echo $_POST[Choice];
<INPUT NAME="Choice" ?>
TYPE="Checkbox">
<BR> </BODY>
<BR> </HTML>
<INPUT TYPE=SUBMIT>
</FORM>
</BODY>
</HTML>
C2 General
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.
C2 General
Multiple Check Boxes
Faqja e pare checkboxes.html Faqja e dyte checkboxes.php
<HTML> <HTML>
<HEAD></HEAD>
<BODY> <HEAD></HEAD>
<FORM METHOD=POST <BODY>
ACTION="checkboxes.php">
<?php
Have you ever eaten haggis before?
<INPUT NAME="Choice1" TYPE="Checkbox" echo “$_POST[Choice1] <BR>";
VALUE="Haggis"> echo “$_POST[Choice2] <BR>";
<BR>
Have you ever eaten snails before? echo “$_POST[Choice3] <BR>";
<INPUT NAME="Choice2" TYPE="Checkbox" ?>
VALUE="Snails">
<BR> </BODY>
Have you ever eaten locusts before? </HTML>
<INPUT NAME="Choice3" TYPE="Checkbox"
VALUE="Locusts">
<BR><BR>
<INPUT TYPE=SUBMIT>
</FORM>
</BODY>
</HTML>
C2 General
Multiple Check Boxes
C2 General
Multiple Check Boxes
KUJDES: Nese i emertoni te gjithe checkbox-et me te njejtin
emer atehere edhe nese klikoni disa checkbox-e, do te
afishohet vetem vlera e checkbox-it te fundit qe keni
zgjedhur.
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">
C2 General
Radio Buttons
Faqja e pare radio.html Faqja e dyte radio.php
<HTML> <HTML>
<HEAD></HEAD>
<BODY> <HEAD></HEAD>
<FORM METHOD=GET ACTION="radio.php"> <BODY>
What is the capital of Portugal? <?php
<BR>
<BR> echo "You selected the answer:
<INPUT NAME="Question1" TYPE="Radio" $_GET[Question1]";
VALUE="Porto">Porto ?>
<BR>
<INPUT NAME="Question1" TYPE="Radio" </BODY>
VALUE="Lisbon">Lisbon </HTML>
<BR>
<INPUT NAME="Question1" TYPE="Radio"
VALUE="Madrid">Madrid
<BR><BR>
<INPUT TYPE=SUBMIT>
</FORM>
</BODY>
</HTML>
C2 General
Radio Buttons
C2 General
ListBox
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>
C2 General
</HTML>
ListBox
Faqja e dyte listbox.php
HTML>
<HEAD></HEAD>
<BODY>
<?php
$price=$_GET['Price'];
echo "Price Range: $price";
$engine= $_GET['EngineSize'];
if( is_array($engine)){
while (list ($key, $val) = each ($engine)) {
echo "$val <br>";
}
}
?>
</BODY></HTML>
C2 General
ListBox
C2 General
Fushat e fshehura te formave
Nganjehere, ju nevojitet te merrni informacionin qe permbahet
ne nje faqe web dhe ta kaloni ate ne nje faqe tjeter, pa kerkuar
input nga perdoruesi.
Ne keto raste, perdoren fushat e fshehura hidden form field
(ose hidden control), te cilat jane si textbox-e, por qe nuk
duken ne faqen web:
<INPUT TYPE=HIDDEN NAME=Hidden1 VALUE="Secret
Message">
C2 General
Fushat e fshehura te formave
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>
C2 General
</HTML>
Fushat e fshehura te formave
Faqja e dyte hidden2.php
<HTML>
<HEAD></HEAD>
<BODY>
<?php
echo "The three options were:<BR>";
echo "$_GET[Hidden1]<BR>";
echo "$_GET[Hidden2]<BR>";
echo "$_GET[Hidden3]<BR>";
echo "<BR>You selected:<BR>";
echo "$_GET[ListBox]";
?></BODY>
</HTML>
C2 General
Fushat e fshehura te formave
C2 General
Fushat e fshehura te formave
C2 General