Bezgaumīgs validācijas php. Validācija un datu tīrīšana, izmantojot PHP. Reģistrējiet savu validācijas noteikumu
Veidojot tīmekļa lietojumprogrammas, ir svarīgi nopietni uztvert drošību, it īpaši, ja jums ir jārisina datu iegūšana no lietotājiem.
Vispārējs drošības noteikums ir neuzticēties nevienam, tāpēc jūs nevarat paļauties uz to, ka lietotāji vienmēr ievadīs pareizās vērtības veidlapās. Piemēram, tā vietā, lai laukā ievadītu pareizo e-pasta adresi, lietotājs var ievadīt nepareizu adresi vai pat dažus ļaunprātīgus datus.
Runājot par lietotāja datu validāciju, to var izdarīt vai nu klienta pusē (tīmekļa pārlūkprogrammā), vai servera pusē.
Iepriekš klienta puses validāciju varēja veikt, tikai izmantojot JavaScript. Bet viss ir mainījies (vai gandrīz mainījies), jo ar HTML5 palīdzību validāciju var veikt pārlūkprogrammā, bez nepieciešamības rakstīt sarežģītus validācijas skriptus JavaScript.
Veidlapu validācija, izmantojot HTML5HTML5 nodrošina diezgan stabilu mehānismu, kas balstīts uz šādiem tagu atribūtiem: tips, modelis un prasība. Izmantojot šos jaunos atribūtus, varat pārlādēt pārlūkprogrammā daļu datu validācijas funkcionalitātes.
Apskatīsim šos atribūtus, lai saprastu, kā tie var palīdzēt veidlapas validācijā.
tipa atribūtsŠis atribūts norāda, kuru ievades lauku parādīt datu apstrādei, piemēram, pazīstamo lauku
Daži ievades lauki jau nodrošina standarta validācijas metodes, bez nepieciešamības rakstīt papildu kodu. Piemēram, tas pārbauda lauku, lai pārliecinātos, ka ievadītā vērtība atbilst derīgas e-pasta adreses veidnei. Ja laukā ir ievadīta nepareiza rakstzīme, veidlapu nevar iesniegt, kamēr vērtība nav izlabota.
Mēģiniet spēlēties ar e-pasta lauku vērtībām tālāk esošajā demonstrācijā.
Ir arī citi standarta lauku veidi, piemēram, , un attiecīgi numuru, vietrāžu URL un tālruņu numuru apstiprināšanai.
Piezīme. Tālruņa numuru formāti dažādās valstīs atšķiras, jo atšķiras tālruņu numuru ciparu skaits un formātu atšķirības. Rezultātā specifikācijā nav noteikts algoritms tālruņu numuru pārbaudei, tāpēc rakstīšanas laikā pārlūkprogrammas šo funkciju slikti atbalsta.
Mums par laimi tālruņa numura apstiprināšanu var veikt, izmantojot modeļa atribūtu, kas kā argumentu izmanto regulāro izteiksmi, kuru mēs apskatīsim tālāk.
modeļa atribūtsModeļa atribūts, iespējams, daudziem priekšgala izstrādātājiem liks lēkāt aiz prieka. Šis atribūts pieņem regulāru izteiksmi (līdzīgu JavaScript regulārās izteiksmes formātam), kas tiks izmantota, lai pārbaudītu laukā ievadīto datu pareizību.
Regulārās izteiksmes ir valoda, ko izmanto teksta parsēšanai un manipulēšanai. Tos bieži izmanto sarežģītām atrašanas un aizstāšanas darbībām, kā arī ievadīto datu pareizības pārbaudei.
Mūsdienās regulārās izteiksmes ir iekļautas populārākajās programmēšanas valodās, kā arī daudzās skriptu valodās, redaktoros, lietojumprogrammās, datu bāzēs un komandrindas utilītos.
Regulārās izteiksmes (RegEX) ir spēcīgs, kodolīgs un elastīgs rīks teksta virknes, piemēram, atsevišķu rakstzīmju, vārdu vai rakstzīmju modeļu, saskaņošanai.
Nododot parasto izteiksmi kā modeļa atribūta vērtību, varat norādīt, kādas vērtības ir pieņemamas dotajam ievades laukam, kā arī informēt lietotāju par kļūdām.
Apskatīsim dažus piemērus regulāro izteiksmju izmantošanai, lai apstiprinātu ievades lauku vērtību.
Tālruņa numuriKā minēts iepriekš, pārlūkprogrammas pilnībā neatbalsta tālruņa numura veidu, jo dažādās valstīs tālruņu numuru formāti ir nekonsekventi.
Piemēram, dažās valstīs tālruņa numuru formāts ir xxxx-xxx-xxxx, un pats tālruņa numurs būs aptuveni šāds: 0803-555-8205.
Regulārā izteiksme, kurai atbilst šis modelis, ir: ^\d(4)-\d(3)-\d(4)$ . Kodā to var uzrakstīt šādi:
Telefona numurs:
Burtciparu vērtības Nepieciešams atribūtsŠis ir Būla atribūts, ko izmanto, lai norādītu, ka, lai iesniegtu veidlapu, ir jāaizpilda noteiktā lauka vērtība. Kad pievienojat šo atribūtu laukam, pārlūkprogramma prasīs lietotājam aizpildīt šo lauku pirms veidlapas iesniegšanas.
Tas mūs pasargā no lauka validācijas ieviešanas, izmantojot JavaScript, kas var ietaupīt izstrādātāju laiku.
Piemēram: vai (XHTML saderībai)
Visās iepriekš redzētajās demonstrācijās tiek izmantots nepieciešamais atribūts, tāpēc varat to izmēģināt, mēģinot iesniegt veidlapu, neaizpildot nevienu lauku.
SecinājumsPārlūkprogrammas atbalsts veidlapu validācijai ir diezgan labs, un vecākām pārlūkprogrammām varat izmantot polifilus.
Ir vērts atzīmēt, ka paļaušanās tikai uz pārlūkprogrammas puses validāciju ir bīstama, jo šīs pārbaudes var viegli apiet uzbrucēji vai robotprogrammatūras.
Ne visas pārlūkprogrammas atbalsta HTML5, un ne visi uz jūsu skriptu nosūtītie dati tiks iegūti no jūsu veidlapas. Tas nozīmē, ka pirms datu galīgās pieņemšanas no lietotāja ir jāpārbauda to pareizība servera pusē.
Pirms veidlapas iesniegšanas datu tālākai apstrādei ir ļoti svarīgi apstiprināt veidlapā ievadītos datus. Ja veidlapā ir daudz lauku, PHP validācijas skripts kļūst pārāk sarežģīts. Turklāt, tā kā jūs veicat tādu pašu vai līdzīgu validāciju lielākajai daļai izveidoto veidlapu, veidlapu validācijai tiek tērēts pārāk daudz pūļu.
Šis vispārīgais PHP veidlapu pārbaudītāja skripts ļauj ļoti viegli pievienot veidlapai apstiprinājumus.
Mēs izveidojam un saistām “validācijas deskriptoru” kopu ar katru veidlapas elementu. “Validācijas deskriptors” ir virkne, kas norāda veicamās validācijas veidu. Piemēram, “req” nozīmē obligāti, “alfa” nozīmē atļaut tikai alfabēta rakstzīmes un tā tālāk.
Katram veidlapas laukam var būt nulle, viena vai vairākas validācijas. Piemēram, ievade nedrīkst būt tukša, tai jābūt mazākai par 25 rakstzīmēm, jābūt burtciparu u.c.
Katram veidlapas ievades laukam varat saistīt validācijas deskriptoru kopu.
Lejupielādējiet PHP veidlapas validācijas skriptuTālāk varat lejupielādēt PHP veidlapas validācijas skriptu:
Zip failā ir veidlapas validācijas skripts formvalidator.php, dokumentācija un lietošanas paraugi.
Pirmais arguments ir veidlapas ievades lauka nosaukums. Otrais arguments ir validācijas deskriptors, kas norāda vajadzīgās validācijas veidu. Trešais arguments ir kļūdas ziņojums, kas jāparāda, ja validācija neizdodas.
$inpname: $inp_err
\n"; ) ) PiemērsTālāk sniegtais piemērs padarīs ideju skaidrāku
Vārds: E-pasts:
Pielāgotas validācijas pievienošanaJa vēlaties pievienot pielāgotu validāciju, ko nenodrošina validācijas deskriptori, varat to izdarīt. Tālāk ir norādītas darbības.
klase MyValidator paplašina CustomValidator ( funkcija DoValidate(&$formars,&$error_hash) ( if(stristr($formars["Komentāri"],"http://")) ( $error_hash["Comments"]="Nav atļauti URL komentāros"; atgriezt nepatiesu; ) atgriezt patiesu; ) )
$validator = new FormValidator(); $validator->addValidation("Vārds","req","Lūdzu, aizpildiet Vārdu"); $validator->addValidation("E-pasts","e-pasts", "E-pasta ievadei jābūt derīgai e-pasta vērtībai"); $validator->addValidation("E-pasts","req","Lūdzu aizpildiet e-pastu"); $custom_validator = jauns MyValidator(); $validator->AddCustomValidator($custom_validator);
Pielāgotā validācijas funkcija tiks izsaukta automātiski pēc citām validācijām.
Validācijas deskriptoru tabulaŠeit ir visu validācijas deskriptoru saraksts:
Validācijas deskriptors | Lietošana |
req | Lauks nedrīkst būt tukšs |
maxlen=??? | maksimāli pārbauda ievadīto datu garumu. Piemēram, ja maksimālais atļautais izmērs ir 25, norādiet validācijas deskriptoru kā “maxlen=25”. |
minlen=??? | pārbauda ievadītās virknes garumu līdz vajadzīgajam minimumam. piemērs “minlen=5” |
alnum | Pārbaudiet datus, vai tie satur citas rakstzīmes, izņemot alfabēta vai ciparu rakstzīmes |
alnum_s | Atļauj tikai alfabēta, ciparu un atstarpes rakstzīmes |
nr | Pārbaudiet skaitliskos datus |
alfa | Pārbaudiet alfabētiskos datus. |
alfa_s | Pārbaudiet alfabētiskos datus un atstājiet atstarpes. |
e-pasts | Lauks ir e-pasta lauks un pārbauda datu derīgumu. |
lt=??? mazāk =??? | Pārbaudiet, vai dati ir mazāki par nodoto vērtību. Derīgs tikai ciparu laukiem. piemērs: ja vērtībai ir jābūt mazākai par 1000, norādiet validācijas aprakstu kā “lt=1000” |
gt=??? lielāks par =??? | Pārbaudiet, vai dati ir lielāki par nodoto vērtību. Derīgs tikai ciparu laukiem. piemērs: ja vērtībai ir jābūt lielākai par 10, norādiet validācijas aprakstu kā “gt=10” |
regexp=??? | Pārbaudiet, izmantojot regulāro izteiksmi, vērtībai ir jāatbilst regulārajai izteiksmei. piemērs: “regexp=^(1.20)$” pieļauj līdz 20 alfabēta rakstzīmēm. |
neizvēlēties =?? | Šis validācijas deskriptors ir paredzēts atlasītajiem ievades vienumiem (sarakstiem). Parasti atlases sarakstlodziņos ir viens vienums ar uzrakstu “Atlasīt vienu”. Lietotājam ir jāizvēlas cita opcija, nevis šī opcija. Ja šīs opcijas vērtība ir “Select One”, validācijas aprakstam jābūt “dontselect=Select One”. |
dontselectchk | Šis validācijas deskriptors ir paredzēts izvēles rūtiņām. Lietotājam nevajadzētu atzīmēt norādīto izvēles rūtiņu. Norādiet izvēles rūtiņas vērtību, nevis ?? Piemēram, dontselectchk=on |
shouldselchk | Šis validācijas deskriptors ir paredzēts izvēles rūtiņām. Lietotājam ir jāatzīmē dotā izvēles rūtiņa. Norādiet izvēles rūtiņas vērtību, nevis ?? Piemēram, shouldselchk=on |
neizvēlēties radio | Šis validācijas deskriptors ir paredzēts radio pogām. Lietotājam nevajadzētu atlasīt norādīto radio pogu. Norādiet radio pogas vērtību, nevis ?? Piemēram, dontselectradio=NO |
izvēlieties radio | Šis validācijas deskriptors ir paredzēts radio pogām. Lietotājam jāizvēlas attiecīgā radio poga. Norādiet radio pogas vērtību, nevis ?? Piemēram, selectradio=yes |
selmin=?? | Atzīmējiet vismaz n izvēles rūtiņu skaitu no izvēles rūtiņu grupas. Piemēram: selmin=3 |
Selone | Padara radio grupu obligātu. Lietotājam ir jāatlasa vismaz viens vienums no radio grupas. |
eqelmnt=??? | salīdziniet divus veidlapas elementus un pārliecinieties, ka vērtības ir vienādas. Piemēram, “parole” un “apstiprināt paroli”. Aizstāt ??? ar otra ievades elementa nosaukumu. Piemēram: eqelmnt=confirm_pwd |
Mēs runāsim par POST vai GET datu validāciju, lai gan principā to var attiecināt arī uz datiem, kas saņemti ar citām metodēm, piemēram, sīkdatnēm. Izstrādājot jebkuru tīmekļa lietojumprogrammu, jums ir jāraksta saskarne mijiedarbībai ar lietotājiem un, protams, jāizveido dažādas veidlapas, lai lietotāji varētu nosūtīt datus uz serveri. piemēram, tie varētu būt komentāri. Manuprāt, visiem ir skaidrs un skaidrs, ka saņemtie dati ir jāpārbauda, vai tie atbilst veidam, izmēram un noteiktajam diapazonam. Pirmkārt, tas ir nepieciešams sistēmas, vietnes vai datu bāzes drošībai, jo... Nepareizi pārsūtīti dati vai apzināti slikti noformēts pieprasījums var atvērt piekļuvi uzbrucējam.
Otrkārt, nepārbaudīti dati, ja tie ir nepareizi, var izraisīt nestabilu skripta, sistēmas vai visa servera darbību. Tāpēc visi dati ir jāpārbauda un vēlreiz jāpārbauda, varbūt kāds teiks, ka nav vajadzīga pārmērīga paranoja, bet es uzskatu, ka šajā jautājumā tā vienkārši nevar būt pārmērīga.
Neuzticieties datiem, kas saņemti no lietotājiem, aizbildinoties un nekādā gadījumā. Gadās, ka vienkārši esam slinki rakstīt kodu, kas vēlreiz pārbauda saņemtos datus, vai arī ceram, ka pietiek ar esošajām pārbaudes metodēm, kā rezultātā piekāpjamies sev.
Neliela atkāpe no tēmas:
Darbs pie projektiem, vietņu, skriptu un citu sistēmu izstrāde un programmēšana aizņem gandrīz visu manu brīvo laiku (neskaitot darba laiku), proti, es daru šo darbu maksimāli iespējamo stundu skaitu dienā. Ik pa laikam rodas nepieciešamība kaut ko pārbaudīt, prieka pēc vai vienkārši ziņkārības pēc. Rezultātā vietnes, kas izveidotas steigā, izmantojot paštaisītus dzinējus vai seno versiju CMS, kļūst par līdzīgām testēšanas laboratorijas žurkām. Protams, viss iepriekš minētais cieš no greizi uzrakstīta koda, datu kontroles trūkuma un vienkārši mudž no dažādām kļūdām. Patiesībā vairumā gadījumu stundas laikā, veicot eksperimentus šādās vietnēs, man izdodas atrast vairākas nopietnas ievainojamības, un lielākā daļa no tām slēpjas nepietiekamā saņemto datu validācijā. Pēdējā laikā tas bieži tika atrasts skriptos, kas apstrādā POST datus, kas saņemti no JavaScript + Ajax.
Acīmredzot programmētāji, kuri rakstīja šos skriptus, izmantojot Ajax, uzskata, ka, tā kā visi pieprasījumi notiek fonā, lietotājam nezinot vai vienkārši nepārlādējot lapu, tad dati nav īpaši jāpārbauda.
Kā likums, diezgan daudzi no šiem skriptiem izrādās tik caurumu pilni, ka bez lielas piepūles izdodas izveidot lielāku caurumu un appludināt čaulu. protams, tikai eksperimentēšanas nolūkos un nekas vairāk (šādu vietņu administrācija vienmēr ir informēta par esošajām ievainojamībām).
Es domāju, ka apstiprināšanas nozīme ir skaidra ikvienam. Ilgu laiku es katru reizi rakstīju vienu un to pašu kodu, pēc tam izmantoju savas datu pārbaudes funkcijas, no kurām daudzas bija ļoti primitīvas un, kā likums, izkaisītas dažādās (iekļauto) failu daļās. Drīz es sāku iepazīties ar PHP ietvariem Zend, CI, Kohana, no kuriem katrs ieviesa savu klasi datu validēšanai, ko es aizņēmos saviem projektiem. Beigās nolēmu vienu no CI nodarbībām pielāgot savām vajadzībām, taču izrādījās, ka viena programmēšanas bloga autors par to jau bija parūpējies. Tālāk es dalos ar viņa darbiem, proti, modificēto CodeIgniter bibliotēku.
Apskatīsim šādu kodu:
Skatīt kodu PHP
request_once "validator.class.php" ; $validator = new Validator() ; $validator -> set_rules ("vārds" , "Tavs vārds" , masīvs ("nepieciešams" => , "alpha" => ) ) ; $validator -> set_rules ("e-pasts" , "Jūsu e-pasts" , masīvs ("required" => "Lauks %s ir nepieciešams" , "valid_email" => ) ) ; if ($validator -> palaist () ) ( echo "Validācija bija veiksmīga" ; ) else ( echo $validator -> get_string_errors () ; ) |
Kā redzams piemērā, pirmajā rindā mēs iekļaujam klases failu validator.calss.php uz mūsu scenāriju. Tālāk mēs izveidojam klases gadījumu un saglabājam objektu mainīgajā $validators.
Pēc tam izmantojot metodi $validator->set_rules($field, $label, $rules) iestatiet laukus apstiprināšanai.
Šai metodei ir nepieciešami 3 parametri:
Kad visi validācijas lauki ir iestatīti, mēs palaižam validatoru, izmantojot metodi $validator->run(). Ja validācija bija veiksmīga, šī metode atgriezīs vērtību PATIESA, pretējā gadījumā, ja ir kādas kļūdas, tas atgriezīsies FALSE.
Ir trīs veidi, kā saņemt kļūdu ziņojumus:
Pēc noklusējuma kļūdu ziņojumi tiek iesaiņoti tagā . Lai iestatītu savu dizainu, izmantojiet metodi set_error_delimiters($prefikss, $sufikss). Piemēram, šādi:
Kļūdu ziņojumi tagad tiks parādīti kā div ar klasi "kļūda"
Kā redzat, viss ir ļoti vienkārši.
Skatīt kodu PHP
$validator -> set_error_delimiters ( " " , " " ) ; |
Lai iestatītu validācijas noteikumus, varat izmantot metodi set_rules($fields) iziet daudzdimensiju asociatīvo masīvu. Apskatīsim piemēru:
Skatīt kodu PHP
$noteikumi = masīvs ( masīvs ( "lauks" => "nosaukums" , "label" => "Tavs vārds" , "noteikumi" => masīvs ( "required" => "Lauks %s ir nepieciešams" , "alpha" = > "Laukā %s jābūt tikai burtiem" ), masīvs ( "lauks" => "e-pasts" , "label" => "Jūsu e-pasts" , "noteikumi" => masīvs ( "required" => "Lauks % s ir prasīts" , "valid_email" => "Laukam %s jābūt derīgai e-pasta adresei" ) ) ) ; $validator -> set_noteikumi ($noteikumi ) ; |
Kā redzat, es pierakstīju tos pašus validācijas noteikumus kā pirmajā piemērā, tikai daudzdimensiju asociatīvā masīva veidā. Varat izmantot jebkuru no metodēm, kas jums vislabāk atbilst konkrētajā situācijā.
Tātad, kādus validācijas noteikumus atbalsta šī klase?
Es ienesu šajā klasē visizplatītākos validācijas noteikumus, ar kuriem saskaras ikviens. Šeit ir pilns šo noteikumu saraksts:
nepieciešams | Atgriež FALSE, ja lauks ir tukšs |
vesels skaitlis | Atgriež FALSE, ja vērtība nav vesels skaitlis |
peldēt | Atgriež FALSE, ja vērtība nav skaitliska vērtība |
derīgs_url | Atgriež FALSE, ja vērtība nav derīgs URL |
derīgs_e-pasts | Atgriež FALSE, ja vērtība nav derīga e-pasta adrese |
derīgs_ip | Atgriež FALSE, ja IP adrese nav derīga |
sērkociņi | Atgriež FALSE, ja elements neatbilst cita lauka elementa vērtībai |
alfa | Atgriež FALSE, ja elementā ir vairāk nekā tikai burti |
valid_captcha | Atgriež FALSE, ja vērtība sesijas laukā nav vienāda ar veidlapas lauka vērtību |
derīgs datums | Atgriež FALSE, ja elementā ir nederīgs datums |
Lielākajā daļā šo noteikumu tiek izmantoti filtri, kas kļuva pieejami PHP 5.
Ja vēlaties, vienmēr varat paplašināt validācijas noteikumu kopumu, pievienojot Validator klasei nepieciešamās funkcijas.
Lai iegūtu apstrādāto POST datu vērtību, izmantojiet šādu metodi:
Skatīt kodu PHP
Parasti šī metode tiek izsaukta, lai notīrītu veidlapu pēc veiksmīgas veidlapas apstrādes.
Labvakar visiem (vairāk kā nakts - red. piezīme). Šodien mēs to nedaudz uzlabosim. Vispirms uzzināsim, kā veikt veidlapu validāciju PHP un veikt dažas drošības manipulācijas.
Tātad, skatiet tālāk norādīto kodu un ņemiet vērā tālāk norādītās izmaiņas un šādus izmaiņu iemeslus. Visas jaunās līnijas izcēlu ar krāsu.
Veidlapas lauku nosaukumi ir mainīti. Jūs varat jautāt – kāpēc pie velna mums tas ir vajadzīgs? Tas ir vienkārši, es jums atbildēšu. Cik man zināms, daži surogātpasta roboti pārmeklē vietnes, meklējot veidlapas, un aizpilda tās, pamatojoties uz šo lauku nosaukumiem. Teorētiski, ja viņi neatrod spēli, viņi dodas mājās, un tas ir tas, ko mēs vēlamies. Protams, es nedomāju, ka šīs aizsardzības pakāpe ir īpaši liela, taču tas mums nekaitēs, un, ja surogātpasta e-pasti samazināsies par vienu burtu, tas būs labi =).
Pārbauda, vai e-pasta adrese ir ievadīta pareizi. 17. rindā tiek izmantots operators elseif, kas tiks pārbaudīts, ja mums tiks atgriezta pozitīva atbilde, tas ir, teikts, ka e-pasta adrese vispār trūkst, tas ir, tā nav ievadīta. Šeit mēs izmantojam funkciju preg_match, kas ļauj salīdzināt ievadīto adresi ar regulāra izteiksme. Varbūt es vēlāk īsi uzrakstīšu par regulārām izteiksmēm, taču šobrīd ir vērts zināt, ka regulārā izteiksme rada sava veida veidni, pret kuru tiek pārbaudīta mūsu virkne. Un, ja mūsu gadījumā ievadītā adrese neatbilst izteiksmei, atkal tiks parādīta kļūda. Piemēram, šeit ir vēl dažas regulāras izteiksmes:
|^[-а-яе\s\.,;:\?!]+$|i– šī regulārā izteiksme ļauj izmantot tikai krievu alfabētu un dažas rakstzīmes, piemēram, atstarpi, punktu, komatu utt.
#http://[-a-z0-9_.]+[-a-z0-9_:@&?=+,.!/~*’%$]*\.(html?|php)#i– un šī izteiksme ļauj pārbaudīt adreses pareizrakstību internetā.
Tālāk mēs izmantojam operatoru else, kur viss mūsu kods vēstules nosūtīšanai jau ir pārsūtīts. Jūs pats varat izveidot verifikācijas noteikumus jebkurā daudzumā, vienkārši pievienojiet jaunus, piemēram, e-pasta adreses pārbaudei, un jūs būsiet laimīgs.
Kontaktpersona:
E-pasts saziņai:
Ziņa:
Tādā veidā jūs varat apstiprināt savas PHP veidlapas, neizmantojot neko svešu. Es domāju, ka nākamreiz ierakstā par veidlapu tēmu tiks apsvērta veidlapu validācija programmā jQuery. Tikmēr gaidu jūsu komentārus un vēlmes. Ar labu nakti un priecīgu rītu visiem =).
Šajā un nākamajās nodaļās ir parādīts, kā izmantot PHP, lai pārbaudītu veidlapas datus.
PHP veidlapas validācijaApstrādājot PHP formas, domājiet par DROŠĪBU!
Šajās lapās tiks parādīts, kā apstrādāt PHP veidlapas, paturot prātā drošību. Pareiza veidlapas datu validācija ir svarīga, lai aizsargātu veidlapu no hakeriem un surogātpasta izplatītājiem!
HTML veidlapa, pie kuras mēs strādāsim šajās nodaļās, satur dažādus ievades laukus: obligātos un neobligātos teksta laukus, radio pogas un iesniegšanas pogu:
Iepriekš minētās veidlapas apstiprināšanas noteikumi ir šādi:
Vārds | Obligāti. + Jāietver tikai burti un atstarpes |
E-pasts | Obligāti. + Jāiekļauj derīga e-pasta adrese (ar @ un .) |
Tīmekļa vietne | Neobligāti. Ja ir, tajā ir jābūt derīgam URL |
komentēt | Neobligāti. Vairāku rindiņu ievades lauks (teksta apgabals) |
Dzimums | Obligāti. Jāizvēlas viens |
Vispirms apskatīsim veidlapas vienkāršu HTML kodu:
Teksta laukiVārda, e-pasta un vietnes lauki ir teksta ievades elementi, un komentāru lauks ir teksta apgabals. HTML kods izskatās šādi:
Vārds:
E-pasts:
Tīmekļa vietne:
komentēt:
Dzimuma lauki ir radio pogas, un HTML kods izskatās šādi:
Dzimums:
Sieviete
Vīrietis
Cits
Veidlapas HTML kods izskatās šādi: