PDA

Bekijk Volledige Versie : bewaren gegevens formulier



Maurice Janssen
26/01/03, 00:35
Hoi,

Voor een simulatie-model heb ik een web-interface gemaakt.
Iemand vult in een vrij eenvoudig html-form wat gegevens in, verzend het
formulier, waarna een cgi-script (in Perl) de gegevens verwerkt en een
simulatie start. Na afloop wordt een mailtje verstuurd met als
attachment de resultaten en in de body de ingevulde gegevens.

Werkt prima, maar nu zoek ik een manier om de data aan de serverkant op
te slaan, zodat je makkelijker een nieuwe simulatie kunt doen met een
kleine verandering. Ik zat te denken aan een url in ieder mailtje,
waarmee je op een al ingevuld formulier uitkomt (met uiteraard precies
de data die ook in het mailtje stond), zodat je wat details kunt
wijzigen voor een nieuwe simulatie.

Ik zit te denken aan twee mogelijkheden:
1. Na iedere simulatie wordt een nieuwe html file aangemaakt, met de
juiste VALUE="foo" in ieder INPUT veld.
Voordeel: vrij simpel
Nadeel: na een tijdje staan er bergen html-files te wachten waarvan
het grootste deel nooit gebruikt wordt
2. Ik vervang het huidige statische html-form door een cgi-script,
zodat je een leeg form ziet als je hem 'kaal' aanroept en deels
ingevuld als je hem met de juiste URL aanroept (die dan onderaan
een mailtje kan staan).
Voordeel: netter aan de server-zijde
Nadeel: geen idee

Iemand anders nog goede ideeen?

--
Maurice

Wimjan
26/01/03, 17:55
Maurice Janssen schreef:
> Hoi,
>
> Voor een simulatie-model heb ik een web-interface gemaakt.
> Iemand vult in een vrij eenvoudig html-form wat gegevens in, verzend het
> formulier, waarna een cgi-script (in Perl) de gegevens verwerkt en een
> simulatie start. Na afloop wordt een mailtje verstuurd met als
> attachment de resultaten en in de body de ingevulde gegevens.
>
> Werkt prima, maar nu zoek ik een manier om de data aan de serverkant op
> te slaan, zodat je makkelijker een nieuwe simulatie kunt doen met een
> kleine verandering. Ik zat te denken aan een url in ieder mailtje,
> waarmee je op een al ingevuld formulier uitkomt (met uiteraard precies
> de data die ook in het mailtje stond), zodat je wat details kunt
> wijzigen voor een nieuwe simulatie.
>
Klinkt goed. Het leuke is ook dat je wellicht (een gedeelte van) de
(tussen)berekeningen kunt bewaren, wat de performance waarschijnlijk ten
goede komt.

> Ik zit te denken aan twee mogelijkheden:
> 1. Na iedere simulatie wordt een nieuwe html file aangemaakt, met de
> juiste VALUE="foo" in ieder INPUT veld.
> Voordeel: vrij simpel
>
> Nadeel: na een tijdje staan er bergen html-files te wachten waarvan
> het grootste deel nooit gebruikt wordt
>
Ach, dan laat je je simulatiescriptje toch even kijken of er zulke
bestanden zijn van ouder dan x dagen of y weken? Als je in het mailtje
meldt dat de meegestuurde url niet oneindig lang houdbaar is dan lijkt me
dit een prima oplossing.

> 2. Ik vervang het huidige statische html-form door een cgi-script,
> zodat je een leeg form ziet als je hem 'kaal' aanroept en deels
> ingevuld als je hem met de juiste URL aanroept (die dan onderaan
> een mailtje kan staan).
> Voordeel: netter aan de server-zijde
>

> Nadeel: geen idee
>
Als je de parameters in de url in het mailtje zet, dan zul je al snel
zien dat de url langer wordt dan wat op een regel past. En dan krijg je
ongetwijfeld problemen met afgebroken urls.

> Iemand anders nog goede ideeen?
>
Een mengsel van bovenstaande ideeen:

- ken een volgnummer toe aan elk verzonden e-mailtje en koppel dit
volgnummer aan de gebruikte parameters. Deze kun je opslaan in een simpel
tekstbestandje:

volgnummer|param1|param2|param3|enz
1|12|blaat|leeg|enz

of in een database, wat je maar makkelijker vindt. Op deze manier hoef je
niet telkens hele html-bestandjes op te slaan voor elke simulatie.

Vermeld in je e-mailtje de url met het volgnummer erbij, dus iets als
<http://z74.net/simulatie?nummer=12> en kijk in je simulatiescript of er
een volgnummer opgegeven is en vul als dat zo is de parameter-pagina met
de opgeslagen waarden.


Groet,

Wimjan

--
Iemands e-mailadres kwijt? Probeer m'n meta e-mail zoeker eens op
<http://inventio.nl/metanamesearch/>

Maurice Janssen
27/01/03, 21:35
Wimjan wrote:
>Als je de parameters in de url in het mailtje zet, dan zul je al snel
>zien dat de url langer wordt dan wat op een regel past. En dan krijg je
>ongetwijfeld problemen met afgebroken urls.

Da's een goede, daar had ik nog niet bij stil gestaan.

>> Iemand anders nog goede ideeen?
>>
>Een mengsel van bovenstaande ideeen:
>
>- ken een volgnummer toe aan elk verzonden e-mailtje en koppel dit
>volgnummer aan de gebruikte parameters. Deze kun je opslaan in een simpel
>tekstbestandje:
>
>volgnummer|param1|param2|param3|enz
>1|12|blaat|leeg|enz
>
>of in een database, wat je maar makkelijker vindt. Op deze manier hoef je
>niet telkens hele html-bestandjes op te slaan voor elke simulatie.

Dat is inderdaad een stuk netter. Bedankt voor de tip.
Wordt tijd om de DBM mogelijkheden van Perl eens te gaan bestuderen ;-)

--
Maurice