Skriv till Access-databas med ASP

Tänkte nu göra en liten guide till hur man enkelt skriver information från ett formulär till en Access-databas i ASP. I detta exempel är det en kommentarfunktion från en av mina sajter som får agera exempel. Först börjar vi med att skapa formuläret i HTML, ni får ursäkta den omoderna tabellösningen utan CSS jag använder här. För att göra det snyggare föreslår jag att du sätter en class på alla input och bilder för att styla dem i en extern CSS-fil.

<table width=”550″ align=”left” border=”0″>
<form method=”post” action=”
?do=spara”>
<tr>
<td colspan=”3″ width=”550″><b>Rubrik:</b> (max 45 tecken)<br><input maxlength=”45″ name=”rubrik”></td>
</tr>
<tr>
<td colspan=”3″ width=”550″><b>Text:</b><br><textarea name=”comment”></textarea></td>
</tr>
<tr>
<td width=”245″ valign=”top”><b>Namn:</b><br><input value=”” name=”namn”></td>
<td width=”245″ valign=”top”><b>Hemsida:</b><br><input value=”http://www.” name=”hemsida” ></td>
</tr>
<tr>
<td width=”275″ valign=”top”><b>E-post:</b><br><input value=”” name=”epost”>
</td>
<td width=”275″ valign=”top”><b>Spamskydd:</b><br><img src=”grafik/kod2.jpg”><input value=”” name=”spamprot”></td>
</tr>
<tr>
<td colspan=”3″ width=”550″>
<input type=”submit” value=”Posta kommentar”>
</td>
</tr>
</form>
</table>

När formulärt är färdigt ska vi skriva ASP-koden som hämtar informationen från formuläret, lägger dem i variabler och sedan matar in dem på rätt plats i databasen. Ursäkta att koden är lite slarvigt skriven med en blandning av engelska och svenska.

<%
If Request.Querystring(”do”) = ”spara” Then
Set Conn = Server.CreateObject(”ADODB.Connection”)
Conn.Open ”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” &Server.MapPath(”databas\db.mdb”)spamprotection = Request.Form(”spamprot”)

If spamprotection = ”34$LkT” Then
SQL = ”Insert Into comments (title,comment,datum,namn,hemsida,epost) Values(‘” & Request.Form(”rubrik”) & ”‘,'” & Request.Form(”comment”) & ”‘,'” & date & ”‘,'” & Request.Form(”namn”) & ”‘,'” & Request.Form(”hemsida”) & ”‘,'” & Request.Form(”epost”) & ”‘)”
Conn.Execute(SQL)
RecSet.Close
Conn.Close
Set RecSet = Nothing
Set Conn = Nothing
Response.Redirect ”kommentarer.asp”
Else
Response.Redirect ”kommentarer.asp”
End If
End If
%>

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *