Kom ihåg mig?
Home Menu

Menu


Enkel och kraftfull PHP-klass för att hantera formulär

 
Ämnesverktyg Visningsalternativ
Oläst 2010-03-30, 15:51 #1
geon geon är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2009
Inlägg: 8
geon geon är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2009
Inlägg: 8
Standard Enkel och kraftfull PHP-klass för att hantera formulär

Hej!

Jag delar med mig av min PHP kod för att hantera formulär. Klassen tar hand om all formulärlogik, rendering, validering och exekverar automatiskt din kod för att hantera datan när den är klar. Det är perfekt för att bygga formulär på t.ex. kontaktsidor eller admin-gränssnitt.

Koden är släppt med MIT-licensen, så det är fritt fram att använda den hur du vill, kommerciellt eller inte, så länge du inte tar bort licens-länken i källkods-kommentaren. "Free" som i "free speech" och "free beer", alltså.

Du hittar den enklast på GitHub: http://github.com/geon/wwForm

Titta gärna på exempelfilen för att få en känsla för hur det används:
http://github.com/geon/wwForm/blob/master/examples.php

Mer komplett dokumentation kommer (nog) snart. Tills dess kan du titta i källkoden.
geon är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-03-30, 16:22 #2
emilvs avatar
emilv emilv är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Feb 2004
Inlägg: 1 564
emilv emilv är inte uppkopplad
Bara ett inlägg till!
emilvs avatar
 
Reg.datum: Feb 2004
Inlägg: 1 564
Nice! Ser mycket smidigt ut!
emilv är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-03-30, 16:41 #3
studiox studiox är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2004
Inlägg: 1 356
studiox studiox är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2004
Inlägg: 1 356
Forms är alltid strul :-)

Fungerar detta över flera pages också? Jag har länge letat efter en med "wizard" som kan ha conditions regler. Typ om du fyllt i 12 på fråga 1, sidan 1 kommer du till sida 3.

Slutade med att jag fick skriva en själv där alla frågor, regler läggs i en DB. Men det blev rätt bökigt.
studiox är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-03-30, 16:49 #4
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Håller med emilv, men jag skulle se en ändring på hur du hanterar datum.

Att klippa o klistra i en sträng, och med dagens alla standarder för hur datum skrivs så är php's funktion "strtotime" smidigare (den returnerar false om det är felaktigt/okänt format).

Annars är det grymt!!

Finns inget tråkigare än att bygga formulär.
Jonas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-03-30, 17:51 #5
geon geon är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2009
Inlägg: 8
geon geon är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2009
Inlägg: 8
studiox:

Det finns inget specifikt stöd för wizards, men det är relativt enkelt att bygga. Skapa ett formulär för varje sida, och redirect:a till en lämplig URL. Sen kör du Execute() och Render() för just den aktuella sidans formulär.

Uppdatering:
Se exempelkoden på
http://github.com/geon/wwForm/blob/m...les/wizard.php

Senast redigerad av geon den 2010-03-31 klockan 17:26 Anledning: bugg
geon är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-03-30, 17:56 #6
geon geon är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2009
Inlägg: 8
geon geon är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2009
Inlägg: 8
Jonas:

strtotime kunde ju vara en idé. Men ska man ha något bättre, tycker jag man lika gärna kan gå hela vägen med någon jQuery-baserad date picker.

Men det är ju lätt att implementera om du har lust! (Försöker hålla liv i opensource-andan.)
geon är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-03-30, 18:30 #7
studiox studiox är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2004
Inlägg: 1 356
studiox studiox är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2004
Inlägg: 1 356
Citat:
Ursprungligen postat av geon Visa inlägg
studiox:

Det finns inget specifikt stöd för wizards, men det är relativt enkelt att bygga. Skapa ett formulär för varje sida, och redirect:a till en lämplig URL. Sen kör du Execute() och Render() för just den aktuella sidans formulär.
Din Process var ju smart faktiskt - Gissar att jag själv måste ha koll på samtliga svar, din klass har inget inbyggd hantering av Sessions ex?
studiox är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-03-30, 19:22 #8
geon geon är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2009
Inlägg: 8
geon geon är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2009
Inlägg: 8
Citat:
Ursprungligen postat av studiox Visa inlägg
Gissar att jag själv måste ha koll på samtliga svar, din klass har inget inbyggd hantering av Sessions ex?
Nej, formulärklassen sköter bara om själva formuläret. Du kan ju spara alla svar i sessionsvariableln eller en databas. Sen, om man går tillbaka till en tidigare sida bör ju den vara för-ifylld. Alla formulfältsklasser (wwText, wwEmail, etc.) har en construktorparameter "$PresetValue", som är till för just det. Kolla på det "avancerade" exemplet i README-filen på GitHub.
geon är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-03-30, 19:28 #9
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Lägg upp alla filerna inklusive hjälp filen i en zip så det går att ladda ned samlat.... som du kan kalla geon_wwform.zip elelr nåt ditåt
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-03-30, 19:44 #10
Jimpsson Jimpsson är inte uppkopplad
Flitig postare
 
Reg.datum: Jun 2006
Inlägg: 428
Jimpsson Jimpsson är inte uppkopplad
Flitig postare
 
Reg.datum: Jun 2006
Inlägg: 428
Citat:
Ursprungligen postat av ConnyWesth Visa inlägg
Lägg upp alla filerna inklusive hjälp filen i en zip så det går att ladda ned samlat.... som du kan kalla geon_wwform.zip elelr nåt ditåt
Klicka på "Download Source".
Jimpsson är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 01:30.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017