cniry 0 Odesláno: 9. Březen, 2010 Share Odesláno: 9. Březen, 2010 V CPF lze jednotlivé prvkdy formulářů vykreslovat, nebo kontrolovat. Uděláme si jednoduchý formulář pro přihlášení. Nejprve si ukážeme jak vykreslovat: <?php require "cpf/loader.php"; ?> <?php echo "Přihlašovací jméno: " . $cpf->form->input("text", "login"); echo " Heslo: " . $cpf->form->input("password", "heslo"); echo " " . $cpf->form->input("submit", "submitbutt", "Přihlásit se"); ?> V CPF vytváříme formulářové prvky pomocí volání $cpf->form->input( TYP, JMÉNO, OBSAH ) TYP formulářového prvku text - klasické textové políčko password - políčko pro heslo button - tlačítko (toto není odesílací tlačítko) submit - odesílací tlačítko hidden - skryté pole textarea - textarea checkbox - zaškrtávací pole obsah hodnota pro obsah je nepovinná. Obsah je povinný jen u typu select, kde je obsahem array() pole Kontrola se pak provádí přes funkci $cpf->form->check($podmínka, $proměnná ) Funkce vrací TRUE - prošlo, FALSE - neprošlo. Seznam podmínek: vyplneno - zkontroluje jestli je pole vyplněné cislo - zkontroluje jestli jste zadali číslo email - zkontroluje jestli jste zadal správný email url - zkontroluje jestli je v proměnné URL adresa A Teď to celé zkusíme se zpracováním dat: <?php require "cpf/loader.php"; function on_submit($cpf) //funkce co se provadi jen po odeslani formulare. vola se sama { global $input_err; $input_err['send_data'] = $_POST; //v priade chyby se jiz vyplnene informace objevi ve formulari $i = 0; //a zaciname s kontrolou $jmeno = 'login'; //jmeno policka ktere kontrolujeme if(! $cpf->form->check("vyplneno", $_POST[$jmeno] ) ) { $input_err[$jmeno]['extra'] = ' style="background-color: red;"'; //extra vlastnost ktera se nastavi policku ktere neni spravne vyplneno $input_err[$jmeno]['text'] = "Důležitá položka. Vyplňte ji prosím."; //text u policka $input_err[$jmeno]['abord'] = true; $i = 1; } else { $_POST[$jmeno] = mysql_escape_string( $_POST[$jmeno] ); } //a jeste heslo $jmeno = 'heslo'; //jmeno policka ktere kontrolujeme if(! $cpf->form->check("vyplneno", $_POST[$jmeno] ) ) { $input_err[$jmeno]['extra'] = ' style="background-color: red;"'; //extra vlastnost ktera se nastavi policku ktere neni spravne vyplneno $input_err[$jmeno]['text'] = "Důležitá položka. Vyplňte ji prosím."; //text u policka $input_err[$jmeno]['abord'] = true; $i = 1; } else { $_POST[$jmeno] = mysql_escape_string( $_POST[$jmeno] ); } if( $i==1 ) return false; //pokud neco neproslo, nepokracuj /* ulozeni dat do MySQL necham na vas. muzete vyuzit napriklad [url=http://cpf.cniry.cz/index.php?title=Mysql.lib.php]MySQL.lib[/url] nebo pouzit klasicke mysql_connect nebo ulozeni do souboru. to uz je ciste na vas */ echo "všechno prošlo. díky za registraci :D"; } ?> <?php echo "Přihlašovací jméno: " . $cpf->form->input("text", "login"); echo " Heslo: " . $cpf->form->input("password", "heslo"); echo " " . $cpf->form->input("submit", "submitbutt", "Přihlásit se"); ?> Možná vám mohl dnešní kód připadat komplikovaný, možná jednoduchý. Doufám že bude více těch kterým příjde snadný Tak zase příště si ukážeme konečně žhavé téma a tím je práce MySQL. Největší přednost celého Cniry Personal Framework. Ukázka celého našeho dnešního snažení je zde: http://cpf.cniry.cz/ukazky/form-1.php Další ukázka ověřování formulářů: http://cpf.cniry.cz/ukazky/form-2.php Link to comment Share on other sites More sharing options...
Patrony 0 Odesláno: 9. Březen, 2010 Share Odesláno: 9. Březen, 2010 Tvoje návody jsou nejlepší tohoto druhu :thumbup: srozumitelně vysvětlený řekl bych Link to comment Share on other sites More sharing options...
cniry 0 Odesláno: 9. Březen, 2010 Author Share Odesláno: 9. Březen, 2010 Ukázka celého našeho dnešního snažení je zde: http://cpf.cniry.cz/ukazky/form-1.php Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now