Applicatie bouwen met chronoforms jd13nl
-
Upload
gert-jan-radstaake -
Category
Documents
-
view
654 -
download
2
Transcript of Applicatie bouwen met chronoforms jd13nl
Applicatie bouwen met Chronoforms
Met chronoforms en een klein beetje code een compleetloterijscript
Gert-Jan RadstaakeGJ-R Webdevelopment
Over mij
• Gert-Jan Radstaake
• CEO / Webdeveloper GJ-R Webdevelopment
• Sinds 2006 met Joomla! bezig
• Ontwikkeling Joomla! websites + Magentowebshops met 6 man vanuit Tilburg
Situatieschets
- Loterij: 1000 loten
- 5 winnaars van een identieke prijs
- Elk lotnummer 1 keer gebruiken
- Lotnummer: combinatie letter/cijfers
Wat willen we weten?
• Naam
• Telefoonnummer
• Emailadres
• Lotnummer
Het formulier
Mensen vullen formulier in.. 4 mogelijkheden
• Niet bestaand lot foutmelding
• Al eerder gebruikt foutmelding
• Lotnummer geen prijs geen prijs gewonnen
• Lotnummer met prijs winnaar!
Benodigde tabellen
• Tabel met lotnummers + indicatie of ze al gebruikt zijn
• Tabel met winnaars
• Tabel met deelnemers
Niet bestaand lot
• Custom Server Side Validation
Niet bestaand lot
Vraag: Komt het ingevoerde lotnummer voor in de tabel met lotnummers?
In code:
$db = JFactory::getDBO();$lotnummer=htmlspecialchars($_POST["lotnummer"]);$query = "SELECT lotnummer FROM lotnummers WHERE lotnummer= ‘".$lotnummer."’";$db->setQuery($query);$result = $db->loadResult();if($result){return true;}else{return false;}
Niet bestaand lot -> foutmelding
• Bestaat het lot? Zo ja gaan we verder..
• Zo niet: “Show Thanks Message”:
“Het door u ingevoerde lotnummer is ongeldig.”
Al eerder gebruikt
Vraag: Is het betreffende lotnummer eerder gebruikt / staat er een 1 in de kolom “gebruikt”.
In code:
$db = JFactory::getDBO();$lotnummer=htmlspecialchars($_POST["lotnummer"]);$query = "SELECT lotnummer FROM lotnummers WHERE lotnummer = ‘".$lotnummer."’ AND gebruikt=0";$db->setQuery($query);$result = $db->loadResult();
if($result){$query="UPDATE lotnummers SET gebruikt='1' WHERE lotnummer = ‘".$lotnummer. "’";$db->setQuery($query);$db->execute();return true; }else{ return false; }
Al eerder gebruikt -> foutmelding
• Nog niet eerder gebruikt? Dan gaan we verder; en slaan we gegevens op.
• Zo niet “Het door u ingevoerde lotnummer is al eerder gebruikt en kan helaas niet nog een keer ingevoerd worden.”
De grote vraag…
Heeft de deelnemer gewonnen?
$db = JFactory::getDBO();$lotnummer=htmlspecialchars($_POST["lotnummer"]);$query = "SELECT lotnummer FROM `winnaars` WHERE lotnummer= ‘".$lotnummer."’";$db->setQuery($query);$result = $db->loadResult();if($result){return true;}else{return false;}
Winnaar!
Wat hebben we geleerd
• M.b.v. Chronoforms en de custom “side server validation” kunnen verschillende stappen / scenario’s worden uitgevoerd
• Elke stap/tak kan leiden tot een einde of eennieuwe stap met eigen mails, db opslag en meldingen.
Vragen?
…..