Invulformulier en database

Plaats reactie
ITnetadmin
Elite Poster
Elite Poster
Berichten: 8445
Lid geworden op: 28 jan 2012, 18:22
Uitgedeelde bedankjes: 164 keer
Bedankt: 618 keer

Okee, effe paniek.

Mijn oude middelbaar heeft gevraagd of ik niet iets in mekaar kan flansen om de leerlingen inschrijvingen voor volgend schooljaar af te handelen.
Nu, zoals mijn nickname laat uitschijnen, ben ik netwerkbeheerder, geen programmeur, database developer, of webdesigner.
En zoals gewoonlijk in scholen, laten ze dit een goeie 14 dagen voor ze het nodig hebben weten. "Kwestie van er op tijd bij te zijn" (echt, geparafraseerd, citaat uit hun mail). AAARGH.

Eerst dacht ik aan een snelle form in Access, maar eerlijk gezegd, ik haat access, als ik er in werk is het rechtstreeks in de tables, en ik vrees dat access en meerdere users tegelijk niet zo'n goed idee is...

Dus mijn tweede idee was een quick and dirty oplossing, met een php invulformulier dat naar een mysql databaseje schrijft.
Maar omdat dit dus mijn terrein niet is, gaat dit lang duren om vanuit "first principles" (maw met handleidingen erbij) op te bouwen. Ik heb wel ervaring met de back-end maintenance en setup van webservers en databases, maar niet met de creatie van forms of het opzetten van de tables/structuur van de db zelf.
Heeft er iemand ervaring hoe dit best op te lossen? Of beter nog, kent iemand een site met php/mysql template oplossingen?

Voor de apache/php/mysql/phpmyadmin achtergrond hoef ik niet veel hulp, die heb ik al meermaals eens opgezet intern (vanaf nul, dus niet zo'n prepacked versies).
Ik wil vooral niet dat dit ding niet werkt of zijn data verliest op de dag zelf.
Alle advies en/of hulp wordt dus met plezier aangenomen.

Thx in advance
ubremoved_539
Deel van't meubilair
Deel van't meubilair
Berichten: 29849
Lid geworden op: 28 okt 2003, 09:17
Uitgedeelde bedankjes: 446 keer
Bedankt: 1985 keer

De vraag is wat bedoel je precies onder "inschrijvingen" ?

Is dit gewoon formpje invullen en submit (zelfs zonder enige kennis van HTML en PHP kan je normaal zoiets bouwen in enkele uurtjes)... en that's it, of zit er nog veel meer functionaliteit achter ?
ITnetadmin
Elite Poster
Elite Poster
Berichten: 8445
Lid geworden op: 28 jan 2012, 18:22
Uitgedeelde bedankjes: 164 keer
Bedankt: 618 keer

Ik hoop op formpje invullen en submit naar database toe. Ni teveel werk en volledig KISS approved.

[Afbeelding Post made via mobile device ]
driesve
Elite Poster
Elite Poster
Berichten: 1613
Lid geworden op: 05 mei 2008, 12:32
Locatie: Antwerpen
Uitgedeelde bedankjes: 74 keer
Bedankt: 85 keer

Dus als ik het goed begrijp heb je een intern systeem nodig om enkele gegevens (naam, adres, etc) in een database te steken? Wat moet er met die gegevens gebeuren? In een Excel-file? In een ander systeem geïmporteerd worden?

Of is het een extern systeem?
Gebruikersavatar
Kenw00t
Elite Poster
Elite Poster
Berichten: 1778
Lid geworden op: 28 dec 2008, 19:38
Uitgedeelde bedankjes: 346 keer
Bedankt: 250 keer

Als het snel moet gaan en je niet teveel het wiel wil heruitvinden: een Google-formulier.
Afbeelding
ITnetadmin
Elite Poster
Elite Poster
Berichten: 8445
Lid geworden op: 28 jan 2012, 18:22
Uitgedeelde bedankjes: 164 keer
Bedankt: 618 keer

Intern, ja. Voor inschrijvingen die in de school doorgaan. Kmoet alles nog gaan bespreken, maar omdat het kort dag is ben ik al wat aant voorbereiden.
Doe het liever zelf eigenlijk, murphy kennende ...
Gaat wss idd naar een excel geimporteerd moeten worden.

[Afbeelding Post made via mobile device ]
Gebruikersavatar
Goztow
userbase crew
userbase crew
Berichten: 13591
Lid geworden op: 14 nov 2006, 16:21
Locatie: Brussel
Uitgedeelde bedankjes: 1423 keer
Bedankt: 878 keer

Is heel invoudig totdat je wat validatie wil toevoegen, dan wordt de code al wat ingewikkelder. Bijvoorbeeld er mogen enkel cijfers in postcode of zoiets.

[Afbeelding Post made via mobile device ]
ITnetadmin
Elite Poster
Elite Poster
Berichten: 8445
Lid geworden op: 28 jan 2012, 18:22
Uitgedeelde bedankjes: 164 keer
Bedankt: 618 keer

Juist, maar van validatie ga ik daar niks insteken. Het worden leerlingen he, de ouders moeten maar ns leren juist typen, en fouten kunnen makkelijk hersteld worden; tis geen onpersoonlijk systeem. En tis voor eenmalig gebruik.
Weet er niemand ergens templates staan waar ik van kan starten; kheb ni genoeg tijd om t allemaal zelf ns uit te zoeken. Laat een php form schrijven die een mysql invult, en de db zelf opstellen, nu net iets zijn waar ik nog nooit aanleiding toe gehad heb om het ns zelf te moeten doen. Als ik het nu allemaal van nul ga moeten uitzoeken en het valt tegen lukt het me niet om da af te krijgen, 't is uiteindelijk ni voor mijn werk, dus hoge prioriteit heeft dat niet, en ik heb al andere extra activiteiten waardoor avond testsessietjes niet voor de hand liggen.

Ik geloof gerust dat da heel eenvoudig is, dat is het opzetten van een wamp systeem ook, tot je het voor de eerste keer doet en je een paar uur zit te vloeken omdat de php engine maar ni fatsoenlijk wil integreren, en daarna phpmyadmin vloekt omdat er een paar apache modules ni actief staan. En dan zit je toch weer uren verder. Eenmaal je dat ns gedaan hebt ligt dat allemaal makkelijker, maar het zo voor de eerste keer uit mijn duim zuigen... Als ik al een template form heb, en een database structuur, dan kan ik wel verder vanaf daar extrapoleren.

[Afbeelding Post made via mobile device ]
2Flip
Premium Member
Premium Member
Berichten: 605
Lid geworden op: 12 mei 2010, 21:45
Uitgedeelde bedankjes: 45 keer
Bedankt: 33 keer
Contacteer:

Als het écht zeer basic mag zijn: http://www.phpeveryday.com/articles/PHP ... -P280.html
Al zou ik zelf eerder opteren voor de oplossing die Kenw00t aanreikte: google form => kans op downtime zéér laag, zeer simpel (aanmelden bij google drive, dan klikken op maken-> formulier, et voila) en doet wat je wil (kan gekoppeld worden aan spreadsheet).

[Afbeelding Post made via mobile device ]
Afbeelding
driesve
Elite Poster
Elite Poster
Berichten: 1613
Lid geworden op: 05 mei 2008, 12:32
Locatie: Antwerpen
Uitgedeelde bedankjes: 74 keer
Bedankt: 85 keer

2Flip schreef:Als het écht zeer basic mag zijn: http://www.phpeveryday.com/articles/PHP ... -P280.html
Mmmm, dit zou ik toch niet zomaar overnemen. Ik zou op z'n minst de query wijzigen naar

Code: Selecteer alles

mysql_query("INSERT INTO data_employees(name, address) VALUES ('".addslashes($_POST['name'])."','".addslashes($_POST['address'])."')");
Als het naar Excel moet geëxporteerd worden, kan je snel een formulier met MsAccess maken, al lijkt Google Docs mij een stabielere en snellere oplossing. Maar dan heb je natuurlijk geen beheer.

Misschien een héél domme vraag: maar waarom niet gewoon in Excel typen als het intern gebeurt? Of moet het op verschillende computers werken met gekoppelde database (=excel mergen)?
ITnetadmin
Elite Poster
Elite Poster
Berichten: 8445
Lid geworden op: 28 jan 2012, 18:22
Uitgedeelde bedankjes: 164 keer
Bedankt: 618 keer

Yup, het moet op verschillende pcs. Ik neem ook aan dat ze mekaars entries niet mogen zien, om privacy redenen wss, of om valsspelen uit te sluiten; je weet dat schoolinschrijvingen competitief kunnen zijn. Mogelijk is er een volgorde probleem dat met een nummertje opgelost wordt. Ik moet een van dees dagen eens gaan samenzitten.

Ik zal dat google formulier zeker int oog houden als optie.

Bij de andere aangereikte oplossing, staat daar ook ergens de sql structuur bij?

[Afbeelding Post made via mobile device ]
ubremoved_539
Deel van't meubilair
Deel van't meubilair
Berichten: 29849
Lid geworden op: 28 okt 2003, 09:17
Uitgedeelde bedankjes: 446 keer
Bedankt: 1985 keer

driesve schreef:Mmmm, dit zou ik toch niet zomaar overnemen. Ik zou op z'n minst de query wijzigen naar

Code: Selecteer alles

mysql_query("INSERT INTO data_employees(name, address) VALUES ('".addslashes($_POST['name'])."','".addslashes($_POST['address'])."')");
Verander die addslashes maar in htmlentities als geen SQL injectie wil.
liber!
Elite Poster
Elite Poster
Berichten: 783
Lid geworden op: 09 apr 2006, 17:48
Twitter: nathan_gs
Uitgedeelde bedankjes: 130 keer
Bedankt: 55 keer

r2504 schreef:
driesve schreef:Mmmm, dit zou ik toch niet zomaar overnemen. Ik zou op z'n minst de query wijzigen naar

Code: Selecteer alles

mysql_query("INSERT INTO data_employees(name, address) VALUES ('".addslashes($_POST['name'])."','".addslashes($_POST['address'])."')");
Verander die addslashes maar in htmlentities als geen SQL injectie wil.
Sterker nog gebruik PDO::prepare! Dit soort code is zo lek als een zeef.
ITnetadmin
Elite Poster
Elite Poster
Berichten: 8445
Lid geworden op: 28 jan 2012, 18:22
Uitgedeelde bedankjes: 164 keer
Bedankt: 618 keer

Tja, zoveel ken ik niet van php-mysql code, wegens nog nooit moeten schrijven. T moet gewoon werken, eenmalig. En omdat het kort dag is heb ik echt geen tijd om dat uitvoerig te testen of daar zware beveiligingen in te steken (Murphy will have a field day :-) . Deze code zal niet vanop het internet beschikbaar zijn, enkel vanop lokale pcs.

[Afbeelding Post made via mobile device ]
liber!
Elite Poster
Elite Poster
Berichten: 783
Lid geworden op: 09 apr 2006, 17:48
Twitter: nathan_gs
Uitgedeelde bedankjes: 130 keer
Bedankt: 55 keer

Is een google doc formulier niet een betere optie, dat maak je op 5m en is ook nog eens veilig.

http://support.google.com/drive/bin/ans ... swer=87809
Gebruikersavatar
Kenw00t
Elite Poster
Elite Poster
Berichten: 1778
Lid geworden op: 28 dec 2008, 19:38
Uitgedeelde bedankjes: 346 keer
Bedankt: 250 keer

Als Murphy toeslaat, doet ie het goed. Of dat nu zelfgeprogrammeerd is of een kant-en-klaar Google-formulier. Alhoewel ik moet zeggen dat het risico op problemen bij dat laatste wel kleiner is.
Afbeelding
ITnetadmin
Elite Poster
Elite Poster
Berichten: 8445
Lid geworden op: 28 jan 2012, 18:22
Uitgedeelde bedankjes: 164 keer
Bedankt: 618 keer

Denk dat google wel een kans maakt, afhankelijk van mogelijke privacy issues bij leerling gegevens online bijhouden (en dan nog ns in het buitenland).

[Afbeelding Post made via mobile device ]
Mathy
Elite Poster
Elite Poster
Berichten: 842
Lid geworden op: 17 feb 2010, 11:09
Uitgedeelde bedankjes: 35 keer
Bedankt: 74 keer
Contacteer:

Wat ik al een aantal keer gedaan heb is gewoon een phpmyadmin opgezet waarbij ze een user gebruikten die enkel kon inserten, maar of dat gebruiksvriendelijk is... :)
Skynet Generation Internet

http://mathy.vanvoorden.be
ubremoved_539
Deel van't meubilair
Deel van't meubilair
Berichten: 29849
Lid geworden op: 28 okt 2003, 09:17
Uitgedeelde bedankjes: 446 keer
Bedankt: 1985 keer

ITnetadmin schreef:Bij de andere aangereikte oplossing, staat daar ook ergens de sql structuur bij?
Nope... maar die kan je eenvoudig bepalen aan de hand van het insert statement...

Table: data_employees
Columns: name, address (beide alfanumeriek)
ITnetadmin
Elite Poster
Elite Poster
Berichten: 8445
Lid geworden op: 28 jan 2012, 18:22
Uitgedeelde bedankjes: 164 keer
Bedankt: 618 keer

Thx; zo merkt een mens nog maar eens dat de dingen die hij nog nooit ns heeft moeten doen, ook al zijn ze zo makkelijk achteraf gezien, toch weer wat gevloek met zich meebrengen. Dringend ns bijbenen over simpele php-mysql, en daarna (yeah, right) ns aan C++ beginnen :)

[Afbeelding Post made via mobile device ]
ITnetadmin
Elite Poster
Elite Poster
Berichten: 8445
Lid geworden op: 28 jan 2012, 18:22
Uitgedeelde bedankjes: 164 keer
Bedankt: 618 keer

Vergadering gehad. Men prefereert enigszins een intern systeem.

Extra vraagje: kan een submit button ook gelinkt worden aan een dubbele printopdracht; maw een printer de instructie geven de huidige contents 2x af te drukken, een kopietje als bewijs van inschrijving voor de ouders, eentje voor de school?
Kan de google oplossing dit ook?

[Afbeelding Post made via mobile device ]
ubremoved_539
Deel van't meubilair
Deel van't meubilair
Berichten: 29849
Lid geworden op: 28 okt 2003, 09:17
Uitgedeelde bedankjes: 446 keer
Bedankt: 1985 keer

ITnetadmin schreef:een kopietje als bewijs van inschrijving voor de ouders
Kopietjes zijn zo ouderwets... vermoedelijk vraag je een e-mail adres... daar kan je altijd een bebvestiging naar mailen.
ITnetadmin
Elite Poster
Elite Poster
Berichten: 8445
Lid geworden op: 28 jan 2012, 18:22
Uitgedeelde bedankjes: 164 keer
Bedankt: 618 keer

De school prefereert hardcopies :-)

[Afbeelding Post made via mobile device ]
ubremoved_539
Deel van't meubilair
Deel van't meubilair
Berichten: 29849
Lid geworden op: 28 okt 2003, 09:17
Uitgedeelde bedankjes: 446 keer
Bedankt: 1985 keer

De inschrijver kan dan nog altijd z'n mail afdrukken (ik heb trouwens een hekel aan websites die voor mij willen beslissen wanneer ik iets moet afdrukken).

Trouwens je schrijft een copietje voor de school... dan gebeurd de ingave van de gegevens op school... dus niet door de persoon zelf thuis via internet ?

In ieder geval, je kan een pagina automatisch laten printen... http://www.htmlgoodies.com/beyond/javas ... Script.htm Of je bij Google forms ook dergelijke dingen kan inbouwen weet ik niet.
ITnetadmin
Elite Poster
Elite Poster
Berichten: 8445
Lid geworden op: 28 jan 2012, 18:22
Uitgedeelde bedankjes: 164 keer
Bedankt: 618 keer

Jaja, ingave gebeurt gewoon op de school, vandaar de lage nood aan sql beveiliging etc :)

En ik geef toe dat ik ook niet houdt van dat soort sites, maar hier gaat het om een interne oplossing die een papertrail genereert, moest er ergens nog iets foutlopen.

[Afbeelding Post made via mobile device ]
Plaats reactie

Terug naar “Development”