Geplaatst op: 11-5-2002 Aantal keer bekeken: 300012 ASP en formulieren
Binnen ASP is er eigenlijk maar één manier om input van de gebruiker
te kunnen verwerken. Dit zijn formulieren. Een formulier is een pagina waarin
velden voorkomen die de gebruiker kan invullen.
De pagina waarin het formulier staat hoe geen ASP pagina te zijn. Dit kan een
gewone HTML pagina zijn. Alleen het verwerken van het formulier wordt met ASP
gedaan. Met het formulier worden er variabelen verstuurd naar de ASP pagina
die met de waarden weer verschillende dingen kan doen, zoals het toevoegen aan
de database, versturen per e-mail etc.
Let op! Bij een formulier kan de gebruiker zelf verzinnen wat hij invult. Hij kan
ook HTML of javascript code gebruiken. Als de gebruiker in een formulier <b>HOI</b>
invult, dan zal dit ook zo in de browser getoond worden. Dit is nog de meest
ongevaarlijke manier. Hij kan ook je tabel afsluiten. een afbeelding invoegen
of met javascript ervoor zorgen dat de pagina afgesloten wordt. Je begrijpt
dat is erg gevaarlijk is en dat je er dus voor moet zorgen dat je de invoer
controleert op "gevaarlijke" tekens. In de onderstaande voorbeelden
is dit niet gedaan. Probeer maar eens een tekst in te vullen met <h1>....</h1>.
Je zal zien dat dit gewoon als HTML gezien wordt.
Formulier methoden
Er zijn 2 methoden om de gegevens van een formulier te versturen. Dit zijn "get"
en "post". Hieronder staan de verschillen:
De ingevulde waarden en veldnamen komen in de adresbalk van de browser te
staan, net als bij het doorgeven van variabelen met de url.
verwerk.asp?naam=waarde1&email=waarde2
Het ophalen van de gegevens die uit het formulier komen gaat als volgt:
verwerk.asp
<%
' declareren van de variabelen
Dim Naam
Dim Email
' Lees de variabelen van de url in en zet ze in
de lokale variabele.
' De veldnamen komen dus na querystring te staan en de waarde komen
in de variabele vooraan te staan.
Naam = request.querystring("naam")
Email = request.querystring("email")
De ingevulde waarden van de veldnamen worden niet getoond in de adresbalk
van de browser. Dus bijvoorbeeld verwerk.asp zonder iets erachter zal in de
browser getoond worden.
Het ophalen van de gegevens die uit het formulier komen gaat als volgt:
verwerk.asp
<%
' declareren van de variabelen
Dim Naam
Dim Email
' Lees de variabelen van de url in en zet ze in
de lokale variabele.
' De veldnamen komen dus na form te staan en de waarde komen in de variabelen
vooraan te staan.
Naam = request.form("naam")
Email = request.form("email")
.........................etc.
%>
Bij "Get" worden de gegevens opgehaald met request.querystring("veldnaam")en bij "post" met request.form("Veldnaam").
De gegevens van een formulier versturen via email lukt me. Maar hoe kan je ze eerst in tekstbestand zetten en dat dan versturen. Zoals bij als je een bestelling via internet doet, dan krijg je een bevestiging van je bestelling per mail waarin al je formuliergegevens netjes in een briefopmaak staan.
Maar hoe kan ik er nu voor zorgen dat de gegevens die zijn ingevoerd worden gemaild naar een eventueel gekozen mail adres. En dan niet onder elkaar maar het liefst in een opmaak van b.v. brief waarin de gegevens worden opgenomen. Je krijgt dan b.v. (tussen quotes is dus het geen ingevoerd wordt op de website)
Hallo ik ben "naam" en woon in "woonplaats"
Graag zou ik "3" formulieren ontvangen en "5" informatie boekjes...
'Zet de waarde van de variabelen in het nieuwe record.
if not datum="" then objAdd.Fields("datum") = datum
if not lang="" then objAdd.Fields("lang") = lang
if not kopNL="" then objAdd.Fields("kopNL") = kopNL
Hallo,
ik heb een listbox gevuld met opties uit een database, maar nu wil ik andere info uit die tabel op dezelfde pagina eronder weergeven, op basis van de gekozen optie. (dus de bijbehorende overige data uit de database, behorende bij die optie).