ASP hjælp
Jeg har lavet en gæstebog, meeeen ...Når der "addes" et indlæg opdaterer siden ikke indlægget med det samme, så derfor trykker man refresh, men så adder den indlægget igen. Dvs:
1. den viser ikke det nye indlæg med det samme
2. den laver indlægget "recorder indlægget i databasen igen ved refresh"
koden er således:
<%
Const adOpenKeyset = 1
Const adLockOptimistic = 3
strMode = Request.QueryString("mode")
set conn = server.createobject("ADODB.Connection")
conn.open "DBQ=d:\home\***\db\guestbook.mdb;Driver={Microsoft Access Driver (*.mdb)};"
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! / Write your name!</li>"
ElseIf Len(strKommentar) = 0 Then
strError = "<li>Du skal skrive en kommentar! / Write a comment!</li>"
ElseIf Len(strEmail) = 0 Then
strEmail = 1
End If
If Len(strError) = 0 Then
Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM Guestbook WHERE (ID = 0)"
rs.Open strSQL, Conn, 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
Else
strError = "<p><ul><font color=#FFFFFF>" & strError & "</font></ul></p>"
End If
End If
%>
<html>
<head>
<title>Mexica Hairless</title>
<link rel="stylesheet" href="mainpages.css" type="text/css">
</head>
<body bgcolor="#000000" alink="#00FF00" link="#00FF00" vlink="#00FF00" topmargin="0">
<br><br>
<table width="780" border="0" cellspacing="0" cellpadding="0" align="center">
<tr><td valign="top"><br><br>
<div align="center"><center><table bgcolor="#660000" border="0" width="600" cellspacing="0" cellpadding="3">
<tr>
<td width="100%">
<%
Select Case strMode
Case "add"
%>
<form method="POST" action="guestbook.asp">
<table border="0" width="100%" cellspacing="0" cellpadding="2" bgcolor="#660000">
<tr>
<td valign="middle" align="left" colspan="2"><font face="verdana" size="2" color="#FFFFFF"><br><strong>
<%=strError%></td>
</tr>
<tr>
<td valign="middle" align="left"><div align="right"><p><strong><font color="#FFFFFF" face="verdana" size="2">Navn/Name</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 color="#FFFFFF" 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 color="#FFFFFF" face="verdana" size="2">Kommentar/Comment</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="Indsæt/Add" name="Gem"> <input type="button" value="Annuller/Cancel" name="Annuller" onClick="java script:location.href='guestbook.asp'"></td>
</tr>
</table>
</form>
<%
Case Else
strAddLine = "<p><center><a href=guestbook.asp?mode=add><font color=#FFFFFF face=verdana size=2>Skriv en hilsen / Add a comment</font></a></center></p>"
Response.Write strAddLine
strSQL = "SELECT * FROM Guestbook ORDER BY Dato DESC;"
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open Conn
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=#990000><td width=""100%""><font color=#FFFFFF face=verdana size=2>" & dtmDato & "</td></tr>"
If Len(rs("Email")) > 0 Then
Response.Write "<tr><td><font color=#FFFFFF face=verdana size=2>Post by: <a href=mailto:" & rs("Email") & ">" & rs("Navn") & "</a></td></tr>"
Else
Response.Write "<tr><td><font color=#FFFFFF face=verdana size=2><strong>" & rs("Navn") & ":</strong></td></tr>"
End If
Response.Write "<tr><td><font color=#FFFFFF face=verdana size=2>" & rs("Kommentar") & "<br> </td></tr>"
rs.MoveNext
Loop
Response.Write "</table>"
Else
Response.Write "<p><font color=#FFFFFF face=verdana size=2>Der er endnu ikke nogle der har skrevet i gæstebogen / No submissions</font></p>"
End If
myConn.Close
Set myConn = Nothing
Response.Write strAddLine
End Select
%>
</tr>
</table>
</td></tr></table>
</center></div>
</body>
</html>
