Avatar billede kedersen Nybegynder
20. maj 2002 - 11:16 Der er 3 kommentarer og
2 løsninger

Fejl !!

" Jeg har lavet en tagwall i asp, hvor der er kommet en fejl ved Submit - Reset knapperne.
Når den ligger på nettet - http://www.kasp.dk/kasper/tagwall/guestbook.asp -

hvis man så skriver det man vil og trykker send / submit bliver det ikke vist..

kliden:

<%
' --------------------------------------------------------------------------------
' web: http://www.kasp.dk
' mail: kasp@kasp.dk
' icq: 113813398
' msn: admin@kasp.dk
' --------------------------------------------------------------------------------
Const adOpenKeyset = 1
Const adLockOptimistic = 3

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>Navn, tak !!</li>"
    ElseIf validateEmail(strEmail) = False Then
        strError = "<li>Din rigtige mail !!</li>"
    ElseIf Len(strKommentar) = 0 Then
        strError = "<li>skriv dit tag !!!</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=#000000>" & strError & "</font></ul></p>"
        strMode = "add"
    End If
End If
%>
<html>

<head>
<title>Gæstebogen</title> <LINK REL="stylesheet" HREF="./main[2].css" TYPE="text/css"/>
<STYLE TYPE="text/css">
<!--
a:active {  color: #FFFFFF}
a:hover {  color: #000000}
a:link {  color: #000000; text-decoration: underline}
a:visited {  color: #000000; text-decoration: underline}
-->
</STYLE>
</head>

<body BGCOLOR="F0F0F0">
<div align="center"><left><STYLE TYPE="text/css">

</STYLE> <table border="0" width="100%" cellspacing="0" cellpadding="0" style="border-left: 0px solid rgb(0,0,0); border-right: 0px solid rgb(0,0,0); border-top: 0px solid rgb(0,0,0); border-bottom: 0px solid rgb(0,0,0)" ALIGN="LEFT" HEIGHT="100%">
<tr> <td width="100%" HEIGHT="2"><p><FONT FACE="Arial, Tahoma, Verdana, Helvetica;" SIZE="4" COLOR="#000000"><FONT SIZE="1" FACE="Arial, Helvetica, Tahoma, Verdana" COLOR="#000000">Tagwall</FONT></FONT></td></tr>
<tr VALIGN="TOP"> <td width="100%"> <FONT COLOR="#000000"><%
Select Case strMode
Case "add"
%> </FONT><form method="POST" action="guestbook.asp"> <table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr> <td valign="left" align="left" colspan="3"><font face="Arial, Tahoma, Verdana, Helvetica;" size="1"><br><normal>
<%=strError%></td></tr> <tr> <td valign="left" align="left"><FONT FACE="Verdana, Arial, Helvetica, Tahoma" SIZE="1"><FONT COLOR="#000000"></FONT></FONT><p><FONT COLOR="#000000" FACE="BeyondControl" SIZE="1"><FONT FACE="Arial, Helvetica, Tahoma, Verdana">Navn</FONT></FONT></td><td valign="middle" align="left" COLSPAN="2"><input type="text" name="Navn" size="40" value="<%=strNavn%>"></td></tr>
<tr> <td valign="left" align="left"><FONT FACE="Verdana, Arial, Helvetica, Tahoma" SIZE="1"><FONT COLOR="#000000"></FONT></FONT><p><FONT COLOR="#000000" FACE="Verdana, Arial, Helvetica, Tahoma" SIZE="1"><normal><FONT COLOR="#000000" FACE="Arial, Helvetica, Tahoma, Verdana">E-mail</FONT></normal><FONT FACE="Arial, Helvetica, Tahoma, Verdana"><normal></normal><normal></normal></FONT><normal></normal></FONT></td><td valign="left" align="left" COLSPAN="2"><input type="text" name="Email" size="40" value="<%=strEmail%>"></td></tr>
<tr> <td valign="top" align="left"><FONT FACE="Verdana, Arial, Helvetica, Tahoma" SIZE="1"><FONT COLOR="#000000"></FONT></FONT><p><FONT COLOR="#990000" FACE="Verdana, Arial, Helvetica, Tahoma" SIZE="1"><normal><FONT COLOR="#000000" FACE="Arial, Helvetica, Tahoma, Verdana">Kommentar</FONT></normal><FONT FACE="Arial, Helvetica, Tahoma, Verdana"><normal></normal><normal></normal></FONT><normal></normal></FONT></td><td valign="left" align="left" COLSPAN="2"><textarea rows="3" name="Kommentar" cols="40"><%=strKommentar%></textarea></td></tr>
<tr VALIGN="TOP"> <td align="left"><DIV ALIGN="RIGHT"><P ALIGN="CENTER">&nbsp;</P></DIV></td><td align="left">&nbsp;
<INPUT TYPE="submit" NAME="Submit" VALUE="Send"><INPUT TYPE="button" NAME="Submit2" VALUE="Tilbage">
</td><td align="left">&nbsp;</td></tr> </table></form><FONT COLOR="#000000"><%
Case Else
    strAddLine = "<p><a href=guestbook.asp?mode=add><normal><font face=Arial, Tahoma, Verdana, Helvetica; size=1> Skriv:. </font></normal</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=0 cellspacing=0>"
        Do While Not rs.EOF
            dtmDato = rs("Dato")
            dtmDato = FormatDateTime(dtmDato,vbLongDate) & " kl. " & FormatDateTime(dtmDato,vbLongTime)
            Response.Write "<tr bgcolor=#FFFFFF><td width=""100%""><font face=Arial, Tahoma, Verdana, Helvetica size=1>" & dtmDato & "</td></tr>"
            If Len(rs("Email")) > 0 Then
                Response.Write "<tr><td><font face=Arial, Tahoma, Verdana, Helvetica size=1><normal><a href=mailto:" & rs("Email") & ">" & rs("Navn") & "</a>:</normal></td></tr>"
            Else
                Response.Write "<tr><td><font face=Arial, Tahoma, Verdana, Helvetica size=1><normal>" & rs("Navn") & " skriver:</normal></td></tr>"
            End If
            Response.Write "<tr><td><font face=Arial, Tahoma, Verdana, Helvetica size=1>" & rs("Kommentar") & "<br>&nbsp;</td></tr>"
            rs.MoveNext
        Loop
        Response.Write "</table>"
    Else
        Response.Write "<p><font face=Arial, Tahoma, Verdana, Helvetica size=1>Ingen tag's</font></p>"
    End If
    myConn.Close
    Set myConn = Nothing
    Response.Write strAddLine
End Select
%> </FONT></tr> <tr align="left"> <td width="100%"><normal><font face="Arial, Tahoma, Verdana, Helvetica;" size="1"><p></font></normal></td></tr>
</table></left></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>
Avatar billede trumf Nybegynder
20. maj 2002 - 11:36 #1
Du mangler en variabel i formen så [gem] kan være forskellig fra "" (If Request.Form("Gem") <> "" Then) f.eks. <INPUT TYPE="HIDDEN" NAME="gem" VALUE="ja">
Avatar billede kedersen Nybegynder
20. maj 2002 - 12:58 #2
kan du ikke lige skubbe "INPUT TYPE="HIDDEN" NAME="gem" VALUE="ja">" så jeg kan se hvor det skal være"
Avatar billede kedersen Nybegynder
20. maj 2002 - 13:00 #3
<%
' --------------------------------------------------------------------------------
' web: http://www.kasp.dk
' mail: kasp@kasp.dk
' icq: 113813398
' msn: admin@kasp.dk
' --------------------------------------------------------------------------------
Const adOpenKeyset = 1
Const adLockOptimistic = 3

strMode = Request.QueryString("mode")
tempConn = "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("guestbook.mdb") & ";UID=admin;PWD=;"

If Request.Form("Gem") <INPUT TYPE="HIDDEN" NAME="gem" VALUE="ja"> "" Then
    strError = ""
    strNavn = Trim(Request.Form("Navn"))
    strEmail = Trim(Request.Form("Email"))
    strKommentar = Trim(Request.Form("Kommentar"))
    If Len(strNavn) = 0 Then
        strError = "<li>Navn, tak !!</li>"
    ElseIf validateEmail(strEmail) = False Then
        strError = "<li>Din rigtige mail !!</li>"
    ElseIf Len(strKommentar) = 0 Then
        strError = "<li>skriv dit tag !!!</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=#000000>" & strError & "</font></ul></p>"
        strMode = "add"
    End If
End If
%>
<html>

<head>
<title>Gæstebogen</title> <LINK REL="stylesheet" HREF="./main[2].css" TYPE="text/css"/>
<STYLE TYPE="text/css">
<!--
a:active {  color: #FFFFFF}
a:hover {  color: #000000}
a:link {  color: #000000; text-decoration: underline}
a:visited {  color: #000000; text-decoration: underline}
-->
</STYLE>
</head>

<body BGCOLOR="F0F0F0">
<div align="center"><left><STYLE TYPE="text/css">

</STYLE> <table border="0" width="100%" cellspacing="0" cellpadding="0" style="border-left: 0px solid rgb(0,0,0); border-right: 0px solid rgb(0,0,0); border-top: 0px solid rgb(0,0,0); border-bottom: 0px solid rgb(0,0,0)" ALIGN="LEFT" HEIGHT="100%">
<tr> <td width="100%" HEIGHT="2"><p><FONT FACE="Arial, Tahoma, Verdana, Helvetica;" SIZE="4" COLOR="#000000"><FONT SIZE="1" FACE="Arial, Helvetica, Tahoma, Verdana" COLOR="#000000">Tagwall</FONT></FONT></td></tr>
<tr VALIGN="TOP"> <td width="100%"> <FONT COLOR="#000000"><%
Select Case strMode
Case "add"
%> </FONT><form method="POST" action="guestbook.asp"> <table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr> <td valign="left" align="left" colspan="3"><font face="Arial, Tahoma, Verdana, Helvetica;" size="1"><br><normal>
<%=strError%></td></tr> <tr> <td valign="left" align="left"><FONT FACE="Verdana, Arial, Helvetica, Tahoma" SIZE="1"><FONT COLOR="#000000"></FONT></FONT><p><FONT COLOR="#000000" FACE="BeyondControl" SIZE="1"><FONT FACE="Arial, Helvetica, Tahoma, Verdana">Navn</FONT></FONT></td><td valign="middle" align="left" COLSPAN="2"><input type="text" name="Navn" size="40" value="<%=strNavn%>"></td></tr>
<tr> <td valign="left" align="left"><FONT FACE="Verdana, Arial, Helvetica, Tahoma" SIZE="1"><FONT COLOR="#000000"></FONT></FONT><p><FONT COLOR="#000000" FACE="Verdana, Arial, Helvetica, Tahoma" SIZE="1"><normal><FONT COLOR="#000000" FACE="Arial, Helvetica, Tahoma, Verdana">E-mail</FONT></normal><FONT FACE="Arial, Helvetica, Tahoma, Verdana"><normal></normal><normal></normal></FONT><normal></normal></FONT></td><td valign="left" align="left" COLSPAN="2"><input type="text" name="Email" size="40" value="<%=strEmail%>"></td></tr>
<tr> <td valign="top" align="left"><FONT FACE="Verdana, Arial, Helvetica, Tahoma" SIZE="1"><FONT COLOR="#000000"></FONT></FONT><p><FONT COLOR="#990000" FACE="Verdana, Arial, Helvetica, Tahoma" SIZE="1"><normal><FONT COLOR="#000000" FACE="Arial, Helvetica, Tahoma, Verdana">Kommentar</FONT></normal><FONT FACE="Arial, Helvetica, Tahoma, Verdana"><normal></normal><normal></normal></FONT><normal></normal></FONT></td><td valign="left" align="left" COLSPAN="2"><textarea rows="3" name="Kommentar" cols="40"><%=strKommentar%></textarea></td></tr>
<tr VALIGN="TOP"> <td align="left"><DIV ALIGN="RIGHT"><P ALIGN="CENTER">&nbsp;</P></DIV></td><td align="left">&nbsp;
<INPUT TYPE="submit" NAME="Submit" VALUE="Send"><INPUT TYPE="button" NAME="Submit2" VALUE="Tilbage">
</td><td align="left">&nbsp;</td></tr> </table></form><FONT COLOR="#000000"><%
Case Else
    strAddLine = "<p><a href=guestbook.asp?mode=add><normal><font face=Arial, Tahoma, Verdana, Helvetica; size=1> Skriv:. </font></normal</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=0 cellspacing=0>"
        Do While Not rs.EOF
            dtmDato = rs("Dato")
            dtmDato = FormatDateTime(dtmDato,vbLongDate) & " kl. " & FormatDateTime(dtmDato,vbLongTime)
            Response.Write "<tr bgcolor=#FFFFFF><td width=""100%""><font face=Arial, Tahoma, Verdana, Helvetica size=1>" & dtmDato & "</td></tr>"
            If Len(rs("Email")) > 0 Then
                Response.Write "<tr><td><font face=Arial, Tahoma, Verdana, Helvetica size=1><normal><a href=mailto:" & rs("Email") & ">" & rs("Navn") & "</a>:</normal></td></tr>"
            Else
                Response.Write "<tr><td><font face=Arial, Tahoma, Verdana, Helvetica size=1><normal>" & rs("Navn") & " skriver:</normal></td></tr>"
            End If
            Response.Write "<tr><td><font face=Arial, Tahoma, Verdana, Helvetica size=1>" & rs("Kommentar") & "<br>&nbsp;</td></tr>"
            rs.MoveNext
        Loop
        Response.Write "</table>"
    Else
        Response.Write "<p><font face=Arial, Tahoma, Verdana, Helvetica size=1>Ingen tag's</font></p>"
    End If
    myConn.Close
    Set myConn = Nothing
    Response.Write strAddLine
End Select
%> </FONT></tr> <tr align="left"> <td width="100%"><normal><font face="Arial, Tahoma, Verdana, Helvetica;" size="1"><p></font></normal></td></tr>
</table></left></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>
Avatar billede eagleeye Praktikant
20. maj 2002 - 13:14 #4
du kan skifte denne:
If Request.Form("Gem") <> "" Then

Ud med denne:

If Request.ServerVariables("REQUEST_METHOD") = "POST" Then


det giver det samme som at tjekke på et form fetl. Den tjekker på om form'en er blevet POST'ed altså via en submit knap.
Avatar billede kedersen Nybegynder
20. maj 2002 - 13:45 #5
OK FED..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester