Script der driller?
Hej - jeg har rodet hele aften med at få dette gæstebogs script til at fungere.Eneste fejl er, at man ikke kan "poste" en ny meddelse (add). Hvad kan der være galt - fejlen i browseren siger 500 fejl og siden kan ikke vises.
Dog vises de allerede indtastede poster fint og selve formen vises også, men når man trykker på send sker der ikke noget?
<%
Const adOpenKeyset = 1
Const adLockOptimistic = 3
strMode = Request.QueryString("mode")
tempConn = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=d:\home\minwebsite\db\guestbook.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>Please write your name</li>"
ElseIf validateEmail(strEmail) = False Then
strError = "<li>Please write your e-mail address</li>"
ElseIf Len(strKommentar) = 0 Then
strError = "<li>You have to write a comment - please</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
Else
strError = "<p><ul><font color=#FF0000>" & strError & "</font></ul></p>"
strMode = "add"
End If
End If
%>
<html>
<head>
<title></title>
</head>
<body>
<p align="left"><img border="0" src="guestb5.gif">
<br>
<br><table border="0" width="500" 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="500" bgcolor="#000064"><p> </td>
</tr>
<tr>
<td width="472">
<%
Select Case strMode
Case "add"
%>
<form method="POST" action="guestbook.asp" style="font-family: Verdana; font-size: 10pt">
<table border="0" width="456" cellspacing="0" cellpadding="2">
<tr>
<td valign="middle" align="left" colspan="2" width="413"><font face="verdana" size="1"><br>Please
fill out this form:<strong>
<%=strError%></strong></font></td>
</tr>
<tr>
<td valign="middle" align="left" width="104"><div align="right"><p><strong><font face="verdana" size="1">Name</font></strong>
</div>
</td>
<td valign="middle" align="left" width="340"><input type="text" name="Navn" size="40" value="<%=strNavn%>"></td>
</tr>
<tr>
<td valign="middle" align="left" width="104"><div align="right"><p><strong><font face="verdana" size="1">E-mail
address</font></strong>
</div>
</td>
<td valign="middle" align="left" width="340"><input type="text" name="Email" size="40" value="<%=strEmail%>"></td>
</tr>
<tr>
<td valign="top" align="left" width="104"><div align="right"><p><strong><font face="verdana" size="1">Your
comments</font></strong>
</div>
</td>
<td valign="middle" align="left" width="340"><textarea rows="5" name="Kommentar" cols="50"><%=strKommentar%></textarea></td>
</tr>
<tr>
<td valign="middle" align="left" colspan="2" width="413"><br>
<input type="submit" value="Send" name="Gem" style="font-family: Verdana; font-size: 10pt"> <input type="button" value="Reset" name="Annuller" onClick="java script:location.href='guestbook.asp'" style="font-family: Verdana; font-size: 10pt"></td>
</tr>
</table>
</form>
<%
Case Else
strAddLine = "<p><img src=add.gif width=16 height=16><font face=verdana size=1><a href=guestbook.asp?mode=add>Add Your Comments to the Guest Book!</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=1>" & dtmDato & "</td></tr>"
If Len(rs("Email")) > 0 Then
Response.Write "<tr><td><font face=verdana size=1><strong><a href=mailto:" & rs("Email") & ">" & rs("Navn") & "</a> writes:</strong></td></tr>"
Else
Response.Write "<tr><td><font face=verdana size=1><strong>" & rs("Navn") & " writes:</strong></td></tr>"
End If
Response.Write "<tr><td><font face=verdana size=1>" & rs("Kommentar") & "<br> </td></tr>"
rs.MoveNext
Loop
Response.Write "</table>"
Else
Response.Write "<p><font face=verdana size=1>Empty...</font></p>"
End If
myConn.Close
Set myConn = Nothing
End Select
%>
</tr>
</table>
<br>
</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>
