Inledning:
I den här artikeln tänkte jag visa hur du kan bygga en enkel gästbok i asp. Gästboken kommer att bestå av inlägg, alltså inget administrations system. Vi ska börja med att skapa våran databas som kommer att vara i access format.
Databasen:
Struktur:
| gbID | gbText | gbDate | gbFrom |
| (AutoNumber) | Memo | Date/Time | Text(50) |
Form.asp:
<form method="post" action="add.asp">
Skriv inlägg:<br><br>
<input type="text" name="gbFrom" maxlength="50"><br>
<textarea name="gbText"></textarea><br>
<input type="submit" value="Spara">
</form>
Add.asp:
<%
' Först deklarera variablar
Dim strFrom,strText
strFrom = Request.Form("gbFrom")
strText = Request.Form("gbText")
' Skydd mot sql injection
Function SqlSafe(ByVal strText)
strText = Replace(strText,"'","")
strText = Replace(strText,"\","\\")
strText = Replace(strText,";","")
SqlSafe = strText
End Function
' Kolla att fälten från Form.asp inte var tomma
If Trim(strFrom) = "" And Trim(strText) = "" Then
Else
' Deklarera variabel och skapa databas koppling
Dim Connect,Sql
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("gastbok.mdb") &";"
' Själva sql:en där vi stoppar in informationen till databasen
Sql = ""
Sql = "Insert Into tblGb (gbText,gbDate,gbFrom) Values ('"& SqlSafe(strText) &"','"& Date() &"','"& SqlSafe(strFrom) &"')"
Connect.Execute(Sql)
' Stäng databasen
Connect.Close()
Set Connect = Nothing
End If
' Skicka vidare till startsidan
Response.Redirect "Index.asp"
%>
Index.asp:
<%
' Bra att ha för att se vart man har sina variablar
Option Explicit
' Sätter språket till svenska
Session.LCID = 1053
Response.Buffer = True
%><html>
<head>
<title>Bygg en enkel gästbok i asp</title>
</head>
<body>
<!-- #Include File="Form.asp" -->
<hr size="1">
<table width="450" border="0" cellspacing="0" cellpadding="0"><%
' Deklarera variblar och skapa databas koppling
Dim Connect,Sql,RS
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("gastbok.mdb") &";"
' Sql:en som hämtar alla inlägg ifrån databasen
Sql = ""
Sql = "Select gbText,gbDate,gbFrom From tblGb Order by gbDate Asc"
Set RS = Connect.Execute(Sql)
' Så länge databasen inte är tom så loopar vi ut alla poster
Do Until RS.Eof
%>
<tr>
<td width="310" align="left"><strong><% =RS(2) %></strong></td>
<td width="140" align="right"><% =FormatDateTime(RS(1),1) %></td>
</tr>
<tr>
<td colspan="2" align="left"><% =Replace(RS(0),VbCrlf,"<br>") %></td>
</tr>
<tr>
<td colspan="2"><hr size="1"></td>
</tr><%
' Gå till nästa post och fortsätt loopa
RS.MoveNext
Loop
' Stäng aktuellt recordset
RS.Close()
Set RS = Nothing
' Stäng databasen
Connect.Close()
Set Connect = Nothing
%>
</table>
</body>
</html>
Skapades: 2007-08-13 10:50:25
Skribent: Gimbergsson
Lästs 1473 gånger
Betyg: 0 (artikeln har endast 0 röster, det krävs minst 5 för ett betyg)