| Rubrika Php / mysql
Overovanie a kontrola formulárov v PHP
S problematikou overovania korektného vyplnenia formulárov sa každý
určite stretol, a kto nie, ten sa ešte určite stretne. Možností je viacero,
podľa môjho názoru je ideálne používať na základné overovanie
Javascript (prípadne v komibnácií s Ajaxom), ale určite formulár poistiť
aj kontrolou na úrovni PHP – pre takých užívateľov, ktorí Javascript
nemajú zapnutý.
V prípade overovania formulárov prostredníctvom PHP je dobré mať
k dispozícií všestranne použiteľnú funkciu, aby sme sa vyhli
nekonečnému vypisovaniu podmienok. Funkcia, resp. trieda by mohla
vyzerať takto:
class userInput { var $mandatoryFields; public function checkMandatory() { foreach($this->mandatoryFields as $key => $value) { if(empty($_POST[$key])) { $emptyFields[] = $value; } } return $emptyFields; } }
Metóda checkMandatory() prejde pole, s definovanými povinným
položkami a porovná ho s hodnotami v $_POST poľa, získaného z odoslaného
formulára. Pokiaľ je nejaká z povinných položiek prázdna, metóda
priradí názov tejto položky do poľa, ktoré nakoniec vráti ako výstup.
Samotné použitie metódy ráta samozrejme s manuálnym definovaním
povinných položiek.
// inicializujeme triedu require_once dirname(__FILE__) . '/class_input.php'; $uI = new userInput; //definujeme povinné položky $uI->mandatoryFields = array( 'povinna_polozka_1'=>'Názov položky', 'povinna_polozka_2'=>'Názov položky' ); //inicializujeme pole, do ktorého bude uložený výstup funkcie $controlForm = array(); $controlForm = $uI->checkMandatory(); // pokiaľ je veľkosť poľa nulová, formulár bol vyplnený správne if(sizeof($controlForm)==0) { // spracovanie formuláru } else { // neboli vyplnené všetky povinné položky echo implode(', ',$controlForm); // vráti názvy nevyplnených polí }
Takáto trieda rozhodne uľahčí prácu s kontrolou formulárov a celé sa to samozrejme dá podstatne viac zautomatizovať – v prípade automatického generovania formulárov z MySQL tabuľky, sa dá pole s definovanými položkami generovať dynamicky na základe nejakého príznaku z databázy. Možností je veľa.
Tomáš Mašek
naspäť
prispieť do diskusie [0]
Vyhľadávanie
Viac z rubriky
Ako ochrániť includované PHP súbory?
Automatické generovanie formulárov z MySQL
Automatický prevod texu na hyperlink
Cachovanie do HTML súboru
Cachovanie s pomocou funkcií serialize/unserialize
Čiernobiele obrázky v PHP
Dynamická tvorba URL
Fulltext ako názov stĺpca v tabuľke
Getcwd – Ako ľahko získať absolútnu cestu
Import z Excelu do MySQL databázy
Maximálny timeout vykonávania SQL skriptu
Microtime – rýchlosť načítania stránky
Odstránenie diakritiky v PHP pomocou iconv()
Parsovanie XML súboru v PHP
PHP a zachytenie nedoručených mailov
PHP funkcia implode
Porovnávanie a dátovy typ DATE
Práca so súbormi pri zapnutom safe_mode
Prihlasovanie uživateľa prostredníctvom $_SESSION
Real-time kontrola e-mailovej adresy AJAX-om
Spracovanie dátového typu ENUM do HTML selectu
Strpos a offset – nájdenie výskytu znaku v reťazci
Tip: Generovanie PDF súborov
Tip: jednoduché šifrovanie a dešifrovanie v PHP
Tip: správne includovanie súborov
Ukladanie jazykových verzií statických textov
Veľmi jednoduchý návod na pekné URI
Vkladanie obrázkov do databázy
Výber záznamov začínajúcich číslom
Vyčistenie viacrozmerného poľa
Vyhľadávanie, pekné URI a diakritika
Vypísanie abecedy v PHP
Využívanie unikátnych kľúčov v MySQL databáze
Zaradenie jednej položky do viacerých kategórií
Zistenie hodnoty ďalšieho ID – autoincrement
Zložené MySQL dotazy – LEFT JOIN
Zvýrazňovanie syntaxe kódu – GeSHi
Pridať komentár



