Tutorials
Formhandler
Wordt je ook zo moe van al die saaie formulieren En wat is er nu erger dan ook nog die elendige validatie waarvan al je haren recht op gaan staan? Het kost veel tijd en het is extreme saai werk. Maar daarvoor is er nu de oplossing!
Pagina 1
Wat is de oplossing?
Formhandler! Wat is Formhandler? Formhandler neemt al je werk over voor het generen van al je formulieren. Kan het niet via formhandler maak je dan je borst maar nat want het kan dan ook niet in html.
Hee dat klinkt leuk waar kan ik het downloaden?
Dit kan op http://www.formhandler.net/ als je Formhandler gaat downloaden vergeet dan ook niet de manual ook meteen mee te nemen. Zonder dat kan je gewoon niet mee werken.
Wat zit er allemaal in?
Naast alle standaard formulieren werk kan formhandler nog meer.
- Uploaden / Resizen van plaatjes
- Validideren van al je velden
- Het kan gegevens uit je db weer geven in de formulieren via een eigen class (mysql,postgresql enz..)
- Het beschikt over een wysiwyg editor.
- Eigen error afhandeling
- Mail systeem
Zoals je kan zien is Formhandler extreem uitgebreid. Geen wonder dat het totale pakket +/- 3MB groot.
Ik zal je nu een paar voorbeelden laten zien wat nu exact de voordelen zijn van Formhandler.
Hee dat klinkt leuk waar kan ik het downloaden?
Dit kan op http://www.formhandler.net/ als je Formhandler gaat downloaden vergeet dan ook niet de manual ook meteen mee te nemen. Zonder dat kan je gewoon niet mee werken.
Wat zit er allemaal in?
Naast alle standaard formulieren werk kan formhandler nog meer.
- Uploaden / Resizen van plaatjes
- Validideren van al je velden
- Het kan gegevens uit je db weer geven in de formulieren via een eigen class (mysql,postgresql enz..)
- Het beschikt over een wysiwyg editor.
- Eigen error afhandeling
- Mail systeem
Zoals je kan zien is Formhandler extreem uitgebreid. Geen wonder dat het totale pakket +/- 3MB groot.
Ik zal je nu een paar voorbeelden laten zien wat nu exact de voordelen zijn van Formhandler.
Pagina 2
Voorbeeld 1
Simpele registratie formulier. Username / Email / Wachtwoord zijn verplicht.
<?php
//als eerste zorgen we dat we de class kunnen aanroepen dus require we hem even
require('./FH3/class.FormHandler.php');
//maak een nieuwe object
$form = new FormHandler();
//functie als alles juist is ingevuld
function meld_aan($data){
//gooi alles in database en klaar
//vergeet niet mysql_real_escape_string(). Maar voor de rest is alles veilig
echo 'U bent met succes aangemeld';
}
//text veld met waarin alleen de A-Z/a-z zijn toegestaan
//syntax kan je natuurlijk vinden in de manual. Maarvoor veel functies: titel (veld naam dat zichtbaar is, naam, validatie. Alle gegevens van de validate kan je je het beste vinden in de manual. Die is gewoon goed uitgebreid...
$form->TextField('Gebruikersnaam','u_user',FH_ALPHA);
//email veld we controleren of de email geldig is maar ook of de dns bestaat
$form->TextField('Emailadress','u_email',FH_EMAIL_HOST);
//en wachtwoord veld niet alle tekens mogen...
$form->PassField('Wachtwoord','u_wachtwoord',FH_PASSWORD);
//submit buttom
$form->submitButton('Verzenden');
//stel een handler in als goed is ingesteld
$form->onCorrect("meld_aan");
//geeft pagina weer
$form->Flush();
?>
Dit stukje heeft mij niet meer dan 2 a 3 min gekost en het debuggen ging in een keer goed.
Voorbeeld Online
<?php
//als eerste zorgen we dat we de class kunnen aanroepen dus require we hem even
require('./FH3/class.FormHandler.php');
//maak een nieuwe object
$form = new FormHandler();
//functie als alles juist is ingevuld
function meld_aan($data){
//gooi alles in database en klaar
//vergeet niet mysql_real_escape_string(). Maar voor de rest is alles veilig
echo 'U bent met succes aangemeld';
}
//text veld met waarin alleen de A-Z/a-z zijn toegestaan
//syntax kan je natuurlijk vinden in de manual. Maarvoor veel functies: titel (veld naam dat zichtbaar is, naam, validatie. Alle gegevens van de validate kan je je het beste vinden in de manual. Die is gewoon goed uitgebreid...
$form->TextField('Gebruikersnaam','u_user',FH_ALPHA);
//email veld we controleren of de email geldig is maar ook of de dns bestaat
$form->TextField('Emailadress','u_email',FH_EMAIL_HOST);
//en wachtwoord veld niet alle tekens mogen...
$form->PassField('Wachtwoord','u_wachtwoord',FH_PASSWORD);
//submit buttom
$form->submitButton('Verzenden');
//stel een handler in als goed is ingesteld
$form->onCorrect("meld_aan");
//geeft pagina weer
$form->Flush();
?>
Dit stukje heeft mij niet meer dan 2 a 3 min gekost en het debuggen ging in een keer goed.
Voorbeeld Online
Pagina 3
Voorbeeld 2
We hebben een formulier waarop de gebruiker zijn profiel kan aanpassen. Deze profiel is natuurlijk omdat wij dat willen lekker uit gebreid settings:
<?php
//normaal halen we dit uit een database maar dit werkt even makelijker als voorbeeld :)
//array met settings (Normaal db)
//Voorbeeldje: Is het profiel van phphulp.
$row = array('u_id' => 368, 'u_naam' => 'Jaap Marcus','u_email' => '[email protected]','u_geslacht' => 'Man','u_gbd' => '22-12-1983','u_woonplaats' => 'Vlissngen', 'u_land' => 'Nederland','u_studie' => 'Maritiem Officier', 'u_beroep' => 'Geen' ,'u_ervaring' => '1,2,4,6');
//als eerste zorgen we dat we de class kunnen aanroepen dus require we hem even
require('./FH3/class.FormHandler.php');
//maak een nieuwe object
$form = new FormHandler();
function update_profiel($data){
//gooi alles in database en klaar
//vergeet niet mysql_real_escape_string(). Maar voor de rest is alles veilig
echo 'Uw profiel is aangepast';
}
//hidden vild voor u_id
$form->HiddenField('u_id',$row['u_id']);
$form->TextField('Naam','u_naam',FH_STRING);
$form->TextField('Emailadress','u_email',FH_EMAIL_HOST);
//geslacht is een optie man / vrouw
$form->SelectField('Geslacht','u_geslacht',array('Man','Vrouw'),null,false);
//datum veld
$form->dateField('Geboorte datum','u_gbd');
//nu woon plaats / land / studdie herhaling van naam
$form->TextField('Woonplaats','u_woonplaats',_FH_STRING);
$form->TextField('Land','u_land',_FH_STRING);
$form->TextField('Studie','u_studie',_FH_STRING);
$form->TextField('Beroep','u_beroep',_FH_STRING);
//nu de ervaringen eerst een array aanmaken
$erv = array(1 => 'PHP', 2 => 'HTML', 3 => 'cgi', 4 => 'javascript', 5 => 'C++', 6 => 'CSS', 7 => 'JAVA', 8 => 'asp');
$form->CheckBox('Ervaringen','u_ervaring',$erv,null,true);
//verzend knop
$form->submitButton('Verzenden');
//stel een handler in als goed is ingesteld
$form->onCorrect("update_profiel");
//we gaan nu waardes invullen
//even de u_ervaring exploden zodat het een array wordt
$arr = explode(',',$row['u_ervaring']);
$row['u_ervaring'] = $arr;
foreach($row as $key => $value){
$form->setValue($key,$value);
}
$form->flush();
?>
Voorbeeld Online
<?php
//normaal halen we dit uit een database maar dit werkt even makelijker als voorbeeld :)
//array met settings (Normaal db)
//Voorbeeldje: Is het profiel van phphulp.
$row = array('u_id' => 368, 'u_naam' => 'Jaap Marcus','u_email' => '[email protected]','u_geslacht' => 'Man','u_gbd' => '22-12-1983','u_woonplaats' => 'Vlissngen', 'u_land' => 'Nederland','u_studie' => 'Maritiem Officier', 'u_beroep' => 'Geen' ,'u_ervaring' => '1,2,4,6');
//als eerste zorgen we dat we de class kunnen aanroepen dus require we hem even
require('./FH3/class.FormHandler.php');
//maak een nieuwe object
$form = new FormHandler();
function update_profiel($data){
//gooi alles in database en klaar
//vergeet niet mysql_real_escape_string(). Maar voor de rest is alles veilig
echo 'Uw profiel is aangepast';
}
//hidden vild voor u_id
$form->HiddenField('u_id',$row['u_id']);
$form->TextField('Naam','u_naam',FH_STRING);
$form->TextField('Emailadress','u_email',FH_EMAIL_HOST);
//geslacht is een optie man / vrouw
$form->SelectField('Geslacht','u_geslacht',array('Man','Vrouw'),null,false);
//datum veld
$form->dateField('Geboorte datum','u_gbd');
//nu woon plaats / land / studdie herhaling van naam
$form->TextField('Woonplaats','u_woonplaats',_FH_STRING);
$form->TextField('Land','u_land',_FH_STRING);
$form->TextField('Studie','u_studie',_FH_STRING);
$form->TextField('Beroep','u_beroep',_FH_STRING);
//nu de ervaringen eerst een array aanmaken
$erv = array(1 => 'PHP', 2 => 'HTML', 3 => 'cgi', 4 => 'javascript', 5 => 'C++', 6 => 'CSS', 7 => 'JAVA', 8 => 'asp');
$form->CheckBox('Ervaringen','u_ervaring',$erv,null,true);
//verzend knop
$form->submitButton('Verzenden');
//stel een handler in als goed is ingesteld
$form->onCorrect("update_profiel");
//we gaan nu waardes invullen
//even de u_ervaring exploden zodat het een array wordt
$arr = explode(',',$row['u_ervaring']);
$row['u_ervaring'] = $arr;
foreach($row as $key => $value){
$form->setValue($key,$value);
}
$form->flush();
?>
Voorbeeld Online
Pagina 4
Conclusie
Zoals je ziet werkt het systeem eenvoudig, snel en het bespaard je veel tijd. Dus gewoon downloaden.
Ik hoop dat ik je een klein beetje inzicht heb gegeven een paar functies van de formhandler. heb nooit het doel gehad om de hele manual te vertalen. Veel functies worden daar in uitgebreid beschreven.
Wat was wel mijn doel dan? Gewoon inzicht te krijgen in
a: OOP
b: Een iedale oplossing bieden voor het meest dome onderdeel van CMSen maken enz...
c: En natuurlijk kennis maken met formhandler ;)
Vergeet niet dat dit slechts voorbeelden zijn met de mogelijkheden. En ik gebruik nu slechts 10 a 20% van de formhandler.
Ik hoop dat ik je een klein beetje inzicht heb gegeven een paar functies van de formhandler. heb nooit het doel gehad om de hele manual te vertalen. Veel functies worden daar in uitgebreid beschreven.
Wat was wel mijn doel dan? Gewoon inzicht te krijgen in
a: OOP
b: Een iedale oplossing bieden voor het meest dome onderdeel van CMSen maken enz...
c: En natuurlijk kennis maken met formhandler ;)
Vergeet niet dat dit slechts voorbeelden zijn met de mogelijkheden. En ik gebruik nu slechts 10 a 20% van de formhandler.
Reacties
0