PHP - ÷àñò 8 (Ðàáîòà ñ ôîðìè)
fix3d òðóäíîñò:

âèäÿí:
5073
Ðàáîòà ñ ôîðìè
Îáðàáîòêà íà ôîðìè â PHP
Àíàëèçèðàíå íà HTML ñòîéíîñòè â
PHP
Êàêòî âå÷å çíàåòå, ôîðìèòå èìàò ðàçëè÷íè åëåìåíòè, à
èìåííî:
Òåêñòîâî ïîëå
Ïîëå çà îòìåòêà
Ðàäèî áóòîí
Ñïèñúê
Òåçè åëåìåíòè ñå èçïîëçâàò çà âúâåæäàíå íà èíôîðìàöèÿ â WEB ñòðàíèöèòå.
Îñâåí òîâà òåçè åëåìåíòè âè ïîçâîëÿâàò äà íàïðàâèòå Web ñòðàíèöèòå ñè ïî
èíòåðàêòèâíè. Îáà÷å, íå ìîæåòå äà ñå âúçïîëçâàòå íàïúëíî îò òÿõ, àêî íå çíàåòå,
êàê äà èçâëå÷åòå âúâåäåíàòà â òÿõ èíôîðìàöèÿ. Çà òîâà ñå ãðèæè
PHP.
Íàêðàòêî, PHP ïðèåìà èíôîðìàöèÿòà, ïðåäàäåíà ÷ðåç åëåìåíò íà HTML
ôîðìàòà, è ÿ ïðèñâîÿâà íà ïðîìåíëèâà ñ èìå îòãîâàðÿùî íà ñòîéíîñòòà íà àòðèáóòà
NAME íà ñúîòâåòíèÿ åëåìåíò â HTML ôîðìàòà. Äà ïðèåìåì, ÷å â åäíà HTML ôîðìà,
àòðèáóòúò Name íà åäíî òåêñòîâî ïîëå å "Txtbox". Â PHP ñòîéíîñòòà íà òîâà
òåêñòîâî ïîëå àâòîìàòè÷íî ùå ñå ïðèñâîè íà ïðîìåíëèâàòà $Txtbox.  ðåçóëòàò íà
òîâà ìîæåòå äà èçïîëçâàòå ñòîéíîñòòà íà òåêñòîâîòî ïîëå Txtbox â PHP ÷ðåç
ïðîìåíëèâàòà $Txtbox.
Ñåãà äà ðàçãëåäàìå, êàê PHP àíàëèçèðà ñòîéíîñòèòå
íà âñåêè åëåìåíò íà ôîðìàòà. Ïúðâî ùå ðàçãëåäàìå òåêñòîâî ïîëå, çàùîòî å
íàé-ïðîñòî îò âñè÷êè åëåìåíòè íà ôîðìèòå.
Àíàëèçèðàíå íà òåêñòîâî
ïîëå
Òåêñòîâèòå ïîëåòà ñå èçïîëçâàò çà âúâåæäàíå íà òåêñòîâè äàííè, êàòî
èìåíà è àäðåñè. Òåçè äàííè ìîãàò äà ñà òåêñòîâè èëè ÷èñëîâè.  PHP, îáà÷å, òèïúò
íà äàííèòå íå å îò ãîëÿìî çíà÷åíèå. Äà ðàçãëåäàìå ñëåäíèÿ ïðèìåð. Êàêòî çíàåòå,
HTML ñèíòàêñèñà çà òåêñòîâî ïîëå å :
| <input type="text" name="name" size="25"
maxlength="25"> |
 ãîðíèÿ êîä àòðèáóòúò Name
íà òåêñòîâîòî ïîëå èìà ñòîéíîñò "name". Çàòîâà ìîæåòå äà èçïîëçâàòå ñòîéíîñòòà
íà òåêñòîâîòî ïîëå îò HTML ôîðìàòà, êàòî èçïîëçâàòå ïðîìåíëèâàòà
$name.
Çà äà ïðîâåðèòå òèïà íà òàçè ïðîìåíëèâà, èçïîëçâàéòå ñëåäíèÿ
êîä:
<?php
echo
gettype($name);
?> |
 ãîðíèÿò êîä òèïúò íà
ïðîìåíëèâàòà ñå âðúùà êàòî íèç. Òàêà ìîæåòå äà ïðîâåðèòå òèïúò íà âñè÷êè
âúâåäåíè ñòîéíîñòè
Àíàëèçèðàíå íà ñòîéíîñòòà íà ðàäèî
áóòîí
Ðàäèî áóòîíèòå ñå èçïîëçâàò çà èçáèðàíå íà åäíà âúçìîæíîñò îò
íÿêîëêî ïðåäëîæåíè. Êîãàòî ñå èçïîëçâàò ðàäèî áóòîíè, PHP âçèìà àòðèáóòà Name íà
ðàäèî áóòîíà è ñúçäàâà ïðîìåíëèâà ñúñ ñúùîòî èìå, êàêòî å ïðè òåêñòîâèòå ïîëåòà.
Äà ðàçãëåäàìå ñëåäíèÿ ïðèìåð, çà äà âèäèì êàê PHP àíàëèçèðà ñòîéíîñòèòå íà ðàäèî
áóòîíèòå. êàêòî çíàåòå, HTML êîäà íà ãðóïà îò ðàäèî áóòîíè :
<input type="radio" name="gender" value="Ìúæ">
<input
type="radio" name="gender" value="Æåíà"> |
Â
ãîðíèÿ êîä ñòîéíîñòòà íà àòðèáóòà Name çà ðàäèî áóòîíà å "gender". Çàòîâà â PHP
ñòîéíîñòòà ùå ñå ïðèñâîè íà ïðîìåíëèâàòà $gender. Îñâåí òîâà çàáåëåæåòå, ÷å
èìåíàòà è íà äâàòà áóòîíà ñà åäíàêâè. Òîâà å òàêà, çàùîòî ñà ãðóïèðàíè çàåäíî.
Êîãàòî èçáåðåòå äàäåí áóòîí, íåãîâàòà ñòîéíîñò ùå ñå ïðèñâîè íà ïðîìåíëèâàòà
$gender
Àíàëèçèðàíå ñòîéíîñòòà íà ïîëåòàòà çà
îòìåòêè
Ïîëåòàòà çà îòìåòêè ñå èçïîëçâàò çà èçáîð íà ïîâå÷å îò åäíà îò
ïðåäëîæåíèòå âúçìîæíîñòè. Äîêàòî àòðèáóòúò Name íà ïîëåòàòà çà îòìåòêè ñà
ðàçëè÷íè. Äà ðàçãëåäàìå ñëåäíèÿò ïðèìåðåí êîä:
<input type"checkbox" name="fiction"
value="Ôàíòàñòèêà">
<input type"checkbox" name="horror"
value="Óæàñè">
<input type"checkbox" name="action"
value="Åêøúí">
<input type"checkbox" name="comedy"
value="Êîìåäèÿ"> |
 òîçè êîä àòðèáóòèòå Name
íà âñè÷êè ïîëåòà çà îòìåòêè ("fiction", "horror", "action", "comedy") ñà
ðàçëè÷íè.  ðåçóëòàò íà òîâà PHP ïðèñâîÿâà ñòîéíîñòèòå èìà íà ïðîìåíëèâè ñúñ
ñúîòâåòíèòå èìåíà. Íàïðèìåð, àêî ñòå ïîñòàâèëè îòìåòêà â ïîëåòàòà fiction è
horror, PHP ùå ïðèñâîè ñòîéíîñòè íà ïðîìåíëèâèòå $fiction è $horror. Îñòàíàëèòå
áåç îòìåòêà ïîëåòà íÿìà äà ñúùåñòâóâàò êàòî ïðîìåíëèâè. Çàòîâà, êîãàòî èçïúëíèòå
ðåäà
if (empty($comedy))
Ôóíêöèÿòà empty ùå âúðíå ñòîéíîñò True,
àêî â ïîëåòî íå å ïîñòàâåíà îòìåòêà
Àíàëèçèðàíå íà ñòîéíîñòèòå íà
ñïèñúöè
Ñïèñúöèòå ñå èçïîëçâàò çà èçáèðàíå íà åäíà èëè ïîâå÷å ïðåäëîæåíè
âúçìîæíîñòè. Ñïèñúöèòå èìàò ñàìî åäèí àòðèáóò Name. Òîâà îçíà÷àâà, ÷å PHP
ñúçäàâà ñàìî ïî åäíà ïðîìåíëèâà çà ñïèñúê. Íî àêî èìà ñàìî åäíà ïðîìåíëèâà è
ìíîæåñòâî èçáðàíè åëåìåíòè îò ñïèñúêà, PHP ïðèñâîÿâà âñè÷êè èçáðàíè ñòîéíîñòè
êàòî ìàñèâ íà ñúîòâåòíàòà ïðîìåíëèâà. Äà ðàçãëåäàìå ñëåäíèÿ êîä:
<select name="hobbies[]" size="7" multiplace>
<option
value=" Ñïîðòîâå íà îòêðèòî "> Ñïîðòîâå íà
îòêðèòî
</option>
<option value=" Åêñòðåìíè ñïðîòîâå ">
Åêñòðåìíè ñïîðòîâå
</option>
<option value=" Ïîï ìóçèêà "> Ïîï
ìóçèêà
</option>
<option value=" Ðîê ìóçèêà "> Ðîê
ìóçèêà
</option>
<option value=" Àãðåñèâíà ìóçèêà "> Àãðåñèâíà
ìóçèêà
</option>
<option value=" Ôîòîãðàôèÿ ">
Ôîòîãðàôèÿ
</option>
|
 íåãî
àòðèáóòúò Name íà ñïèñúêà å "hobbies". Çàòîâà PHP ñúçäàâà ïðîìåíëèâà ñ èìå
$hobbies, êîÿòî äà ïðèåìå ñòîéíîñòèòå îò ñïèñúêà. Íî âèå ìîæåòå äà èçáåðåòå
ïðîèçâîëåí áðîé ñòîéíîñòè. Òåçè ñòîéíîñòè ñå ïðèñâîÿâàò íà ïðîìåíëèâàòà êàòî
ìàñèâ. Äà ïðåäïîëîæèì, ÷å ñòå èçáðàëè åëåìåíòèòå: "Åêñòðåìíè ñïîðòîâå", "Ðîê
ìóçèêà", "Ôîòîãðàôèÿ".  òîçè ñëó÷àé ïðîìåíëèâàòà hobbies ùå ñå èíèöèàëèçèðà ïî
ñëåäíèÿ íà÷èí:
$hobbies - array ( "Åêñòðåìíè ñïîðòîâå", "Ðîê ìóçèêà", "Ôîòîãðàôèÿ"
);
|
Êîìåíòàðè (1)