<%
\' // -------------------------------------------------------------------------------
\' // Gæstebogen er udviklet af Dennis Knappe ( info@activeserverpages.dk )
\' // Gæstebogen kan frit anvendes til ikke kommerciel brug.
\' // Ønsker du at anvende gæstebogen i kommerciel sammenhæng, kontakt Dennis Knappe.
\' // -------------------------------------------------------------------------------
Response.Buffer = True
strMode = Request.QueryString(\"mode\")
tempConn = \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"guestbook.mdb\") & \";UID=admin;PWD=;\"
If Request.Form(\"Gem\") <> \"\" Then
strError = \"\"
strNavn = Trim(Request.Form(\"Navn\"))
strEmail = Trim(Request.Form(\"Email\"))
strKommentar = Trim(Request.Form(\"Kommentar\"))
If Len(strNavn) = 0 Then
strError = \"<li>Du skal skrive dit navn!</li>\"
ElseIf validateEmail(strEmail) = False Then
strError = \"<li>Du skal skrive en gyldig e-mail adresse!</li>\"
ElseIf Len(strKommentar) = 0 Then
strError = \"<li>Du skal skrive en kommentar!</li>\"
End If
If Len(strError) = 0 Then
Set rs = Server.CreateObject(\"ADODB.RecordSet\")
strSQL = \"SELECT * FROM Guestbook WHERE (ID = 0)\"
rs.Open strSQL, tempConn, adOpenKeyset, adLockOptimistic
If (rs.BOF Or rs.EOF) Then
rs.AddNew
rs(\"Navn\") = Server.HTMLEncode(strNavn)
rs(\"Email\") = Server.HTMLEncode(strEmail)
rs(\"Kommentar\") = Server.HTMLEncode(strKommentar)
rs(\"Dato\") = Now()
rs.Update
End If
rs.Close
Set rs = Nothing
Response.Clear
Response.Redirect(\"guestbook.asp\")
Else
strError = \"<p><ul><font color=#FF0000>\" & strError & \"</font></ul></p>\"
strMode = \"add\"
End If
End If
%>
<html><head>
<title>Gæstebogen</title>
</head><body>
<div align=\"center\"><center><table border=\"0\" width=\"600\" cellspacing=\"0\" cellpadding=\"3\" style=\"border-left: 1px solid rgb(0,0,0); border-right: 1px solid rgb(0,0,0); border-top: 1px solid rgb(0,0,0); border-bottom: 2px solid rgb(0,0,0)\">
<tr>
<td width=\"100%\" bgcolor=\"#000000\"><p><font face=\"verdana\" size=\"4\" color=\"#FFFFFF\"><strong>Gæstebogen</strong></font></td>
</tr>
<tr>
<td width=\"100%\">
<%
Select Case strMode
Case \"add\"
%>
<form method=\"POST\" action=\"guestbook.asp\">
<table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"2\">
<tr>
<td valign=\"middle\" align=\"left\" colspan=\"2\"><font face=\"verdana\" size=\"2\"><br>Indtast venligst oplysningerne i følgende felter:<strong>
<%=strError%></td>
</tr>
<tr>
<td valign=\"middle\" align=\"left\"><div align=\"right\"><p><strong><font face=\"verdana\" size=\"2\">Navn</font></strong></td>
<td valign=\"middle\" align=\"left\"><input type=\"text\" name=\"Navn\" size=\"40\" value=\"<%=strNavn%>\"></td>
</tr>
<tr>
<td valign=\"middle\" align=\"left\"><div align=\"right\"><p><strong><font face=\"verdana\" size=\"2\">E-mail</font></strong></td>
<td valign=\"middle\" align=\"left\"><input type=\"text\" name=\"Email\" size=\"40\" value=\"<%=strEmail%>\"></td>
</tr>
<tr>
<td valign=\"top\" align=\"left\"><div align=\"right\"><p><strong><font face=\"verdana\" size=\"2\">Kommentar</font></strong></td>
<td valign=\"middle\" align=\"left\"><textarea rows=\"3\" name=\"Kommentar\" cols=\"40\"><%=strKommentar%></textarea></td>
</tr>
<tr>
<td valign=\"middle\" align=\"left\" colspan=\"2\"><br>
<input type=\"submit\" value=\"Gem\" name=\"Gem\"> <input type=\"button\" value=\"Annuller\" name=\"Annuller\" onClick=\"java script:location.href=\'guestbook.asp\'\"></td>
</tr>
</table>
</form>
<%
Case Else
strAddLine = \"<p><img src=add.gif width=16 height=16> <a href=guestbook.asp?mode=add><strong><font face=verdana size=2>Skriv et indlæg i min gæstebog!</font></strong></a></p>\"
Response.Write strAddLine
strSQL = \"SELECT * FROM Guestbook ORDER BY Dato DESC;\"
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open tempConn
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
Response.Write \"<table width=100% border=0 cellpadding=1 cellspacing=1>\"
Do While Not rs.EOF
dtmDato = rs(\"Dato\")
dtmDato = FormatDateTime(dtmDato,vbLongDate) & \" kl. \" & FormatDateTime(dtmDato,vbLongTime)
Response.Write \"<tr bgcolor=#C0C0C0><td width=\"\"100%\"\"><font face=verdana size=2>\" & dtmDato & \"</td></tr>\"
If Len(rs(\"Email\")) > 0 Then
Response.Write \"<tr><td><font face=verdana size=2><strong><a href=mailto:\" & rs(\"Email\") & \">\" & rs(\"Navn\") & \"</a> skriver:</strong></td></tr>\"
Else
Response.Write \"<tr><td><font face=verdana size=2><strong>\" & rs(\"Navn\") & \" skriver:</strong></td></tr>\"
End If
Response.Write \"<tr><td><font face=verdana size=2>\" & rs(\"Kommentar\") & \"<br> </td></tr>\"
rs.MoveNext
Loop
Response.Write \"</table>\"
Else
Response.Write \"<p><font face=verdana size=2>Der er endnu ikke nogle der har skrevet i gæstebogen</font></p>\"
End If
myConn.Close
Set myConn = Nothing
Response.Write strAddLine
End Select
%>
</tr>
<tr align=\"center\">
<td width=\"100%\" bgcolor=\"#000000\"><strong><font face=\"verdana\" size=\"4\"><div align=\"center\"><center><p></font></strong><font face=\"Verdana\" size=\"1\" color=\"#FFFFFF\">Dette
eksempel er skrevet af Dennis Knappe<br>
Eksemplet kan downloades fra <a href=\"
http://www.activeserverpages.dk\">http://www.activeserverpages.dk</a></font></td></tr>
</table>
</center></div>
</body></html>
<script language=\"VBScript\" runat=\"Server\">
Function validateEmail(strEmail)
validateEmail = True
If Len(strEmail) < 6 Then
validateEmail = False
End If
If InStr(1, strEmail, \"@\", 1) < 2 Then
validateEmail = False
End If
If InStr(1, strEmail, \".\", 1) = 0 Then
validateEmail = False
End If
pos = InStr(1, strEmail, \"@\", 1)
If pos < 2 Then
validateEmail = False
Else
pos = InStr(pos+1, strEmail, \"@\")
If pos > 0 Then
validateEmail = False
End If
End If
End Function
</script>
se en demo på:
http://www.activeserverpages.dk/aspdigital/studies/eksempler/guestbook.asp?og du kan downloade det på:
http://www.activeserverpages.dk/download/default.asp?mode=download&id=21