ASPNL logo (1 kb)
Tuesday, September 07, 2010




Microsoft MVP

.NET Codewise Community
<< vorige | overzicht | volgende >>

Werken met formulieren

In dynamische sites komt het veel voor dat de gebruiker via een HTML-formulier gegevens naar de server stuurt. Met ASP kunnen we die gegevens gebruiken om bijvoorbeeld op te slaan in een database, te versturen via een email of juist andere gegevens op te zoeken.

De gegevens in een formulier kunnen op twee manieren naar de server gestuurd worden, met de POST of met de GET methode. Met POST worden de gegevens naar de server gestuurd als onderdeel van de HTTP headers, met GET als onderdeel van de URL. In het laatste geval staan de gegevens achter een ? dat achter de bestandsnaam staat:
http://www.voorbeeld.nl/voorbeeld.asp?naam=Jan%20Smit&land=Nederland

De verschillende waarden worden gescheiden door & tekens, verder worden bijvoorbeeld spaties gecodeerd zodat er geen onbruikbare URL ontstaat. GET heeft als nadeel dat de gegevens deel uit maken van de URL, wat vooral onhandig is als het om bijvoorbeeld een password gaat. Verder is de lengte van een URL beperkt, voor de meeste browsers tot ongeveer 1.000 karakters.

Welke manier je ook gebruikt, de waarden in het formulier zijn ALTIJD van het subtype String. Dit betekent dat als je een getal verstuurt deze toch nog eerst geconverteerd moet worden naar een getal subtype zoals Integer, Long, Single of Double. Dit kan respectievelijk met de functies CInt(), CLng(), CSng() en CDbl().

Gegevens gebruiken met de POST methode

Wanneer de POST methode is gebruikt, kunnen we waardes uitlezen uit de Form Collectie van het Request object met de opdracht Request.Form("NaamVanWaarde"). Hieronder zie je een voorbeeld van het HTML formulier en vervolgens de code om er wat mee te doen.

form1.asp
<HTML>
<BODY>
<form method="POST" action="form1post.asp">
<table>
  <tr>
    <td>
    Naam
    </td>
    <td>
    <input type="text" name="naam">
    </td>
  </tr>
  <tr>
    <td>
    Land
    </td>
    <td>
    <input type="text" name="land">
    </td>
  </tr>
</table>
<input type="submit" value="Verstuur">
<form>
</BODY>
</HTML>

form1post.asp
<%
Option Explicit
%>
<HTML>
<BODY>
<%
Response.Write "Hallo " & Request.Form("naam") & " uit " & Request.Form("land")
%>
</BODY>
</HTML>


Gegevens gebruiken met de GET methode

Wanneer de GET methode is gebruikt, kunnen we waardes uitlezen uit de QueryString Collectie van het Request object met de opdracht Request.QueryString("NaamVanWaarde"). Hieronder zie je een voorbeeld van het HTML formulier en vervolgens de code om er wat mee te doen.

form2.asp
<HTML>
<BODY>
<form method="GET" action="form2get.asp">
<table>
  <tr>
    <td>
    Naam
    </td>
    <td>
    <input type="text" name="naam">
    </td>
  </tr>
  <tr>
    <td>
    Land
    </td>
    <td>
    <input type="text" name="land">
    </td>
  </tr>
</table>
<input type="submit" value="Verstuur">
<form>
</BODY>
</HTML>

form2get.asp
<%
Option Explicit
%>
<HTML>
<BODY>
<%
Response.Write "Hallo " & Request.QueryString("naam") & " uit " & Request.QueryString("land")
%>
</BODY>
</HTML>


<< vorige | ^ naar boven | overzicht | volgende >>
copyright 2000-2007 ASPNL