Avatar billede miwu.tk Nybegynder
03. juli 2006 - 22:45 Der er 70 kommentarer og
1 løsning

INSERT og UPDATE

Jeg vil gerne poste data samtidig med at jeg opdatere noget andet data i db'en. Jeg har skrevet flg:

        tempSQL = "SELECT Subject FROM Entries WHERE (Id = " & Request("MessageId") & ")"
        Set tempRS = myConn.Execute(tempSQL)
        strSQL = strSQL & " (Name, Email, Comment, ForumId, ReplyId, Subject, IP)"
        strSQL = strSQL & " VALUES('" & DBFix(Trim(Request.Form("Name"))) & "', '" & DBFix(Trim(Request.Form("Email"))) & "', '" & DBFix(Trim(Request.Form("Comment"))) & "', '" & DBFix(Trim(Request("ForumId"))) & "','" & DBFix(Trim(Request("MessageId"))) & "','" & DBFix(Trim(tempRS("Subject"))) & "',  '" & IP & "');"

        tempSQL = "Update [Entries] set "
        strSQL = strSQL & "[date]= '" & Now & "', "
        strSQL = strSQL & " Where [id] = '" & Request.querystring("Messageid") & "'"

        tempRS.Close

Når dette sker meldes der flg fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.

/forum/forumpost.asp, line 40


Nogle der kan hjælpe?
Avatar billede hmortensen Nybegynder
03. juli 2006 - 22:54 #1
Du har rod i tempSQL og strSQL.
Avatar billede farving Nybegynder
03. juli 2006 - 22:54 #2
umiddelbart er din strSQL fokert medmindre der er mere kode...

ellers kan du lave en insertSQL og en updateSQL og så kører conn.execute først på den ene og så den anden...

Men jeg synes det kodestump der ser mystisk ud

Mvh Carsten
Avatar billede miwu.tk Nybegynder
03. juli 2006 - 23:06 #3
ja, jeg ved det ser lidt mystisk ud, men det er fordi det er noget jeg har downloadet og nu redigerer. Hele koden efter jeg har redigeret den efter farvings forslag:

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("forum.mdb")

Function DBFix(tempString)
    tempString = Replace(Trim(tempString), "'", "''")
    tempString = Replace(tempString, "|", "")
    DBFix = tempString
End Function

Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN
Posted = 0

If Len(Trim(Request.Form("Subject"))) = 0 AND Len(Trim(Request.Form("Comment"))) = 0 Then
    strSQL = "SELECT * FROM Forums WHERE (ID = " & Request("ForumID") & ")"
    Set rs = myConn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then
        intForumID = rs("ID")
        strForum = rs("Forum")
    End If
Else
    strSQL = "INSERT INTO Entries"
    If Len(Trim(Request.Form("MessageId"))) = 0 Then
        strSQL = strSQL & " (Name, Email, Subject, Comment, ForumId, Orgthread, IP)"
        strSQL = strSQL & " VALUES('" & DBFix(Trim(Request.Form("Name"))) & "', '" & DBFix(Trim(Request.Form("Email"))) & "', '" & DBFix(Trim(Request.Form("Subject"))) & "', '" & DBFix(Trim(Request.Form("Comment"))) & "', '" & DBFix(Trim(Request("ForumId"))) & "', TRUE, '" & IP & "');"
    Else

        tempSQL = "SELECT Subject FROM Entries WHERE (Id = " & Request("MessageId") & ")"
        Set tempRS = myConn.Execute(tempSQL)
        strSQL = strSQL & " (Name, Email, Comment, ForumId, ReplyId, Subject, IP)"
        strSQL = strSQL & " VALUES('" & DBFix(Trim(Request.Form("Name"))) & "', '" & DBFix(Trim(Request.Form("Email"))) & "', '" & DBFix(Trim(Request.Form("Comment"))) & "', '" & DBFix(Trim(Request("ForumId"))) & "','" & DBFix(Trim(Request("MessageId"))) & "','" & DBFix(Trim(tempRS("Subject"))) & "',  '" & IP & "');"


        tempRS.Close
    End If
    myConn.Execute(strSQL)
    Posted = 1

myConn.Close


Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("forum.mdb")
Conn.Open DSN

        strSQL = "Update [Entries] set "
        strSQL = strSQL & "[date]= '" & Now & "', "
        strSQL = strSQL & " Where [id] = '" & Request.querystring("Messageid") & "'"

conn.execute(strSQL)

Conn.Close
Set Conn = Nothing

End If

Jeg får nu en anden fejl melding:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.

/forum/forumpost.asp, line 48
Avatar billede farving Nybegynder
03. juli 2006 - 23:12 #4
du roder stadig rundt i det kan jeg se :)

i stedet for at skrive strSQL = strSQL & osv... så skriv hele stringen... altså helt fra:

INSERT INTO tabel (name, etc) VALUES (bent, etc)

desuden skal du ikke lukke din ADODB.connection... åben den i starten af dit dokument og luk den når du har udført sidste kodning med din database...

og hvorfor har du [] om Entries, date og id?

Mvh Carsten
Avatar billede miwu.tk Nybegynder
03. juli 2006 - 23:17 #5
"og hvorfor har du [] om Entries, date og id?"

aner det ikke.. jeg har bare fået at vide at jeg skulle gøre sådan, og det har vist sig at virke når jeg bruger det. :s

Du kunne vel ikke hjælpe mig en lille smule på vej? Jeg har virkelig svært ved at overskue og forstå det her.
Avatar billede farving Nybegynder
03. juli 2006 - 23:33 #6
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("forum.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strDSN
Posted = 0

Function DBFix(tempString)
    tempString = Replace(Trim(tempString), "'", "''")
    tempString = Replace(tempString, "|", "")
    DBFix = tempString
End Function

If Len(Trim(Request.Form("Subject"))) = 0 AND Len(Trim(Request.Form("Comment"))) = 0 Then
    strSQL = "SELECT * FROM Forums WHERE ID = " & Request("ForumID") & ""
    Set rs = Conn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then
        intForumID = rs("ID")
        strForum = rs("Forum")
    End If
    strSQL.Close
    rs.close
Else
    If Len(Trim(Request.Form("MessageId"))) = 0 Then
        strSQL = "INSERT INTO Entries"
        strSQL = strSQL & " (Name, Email, Subject, Comment, ForumId, Orgthread, IP)"
        strSQL = strSQL & " VALUES('" & DBFix(Trim(Request.Form("Name"))) & "', '" & DBFix(Trim(Request.Form("Email"))) & "', '" & DBFix(Trim(Request.Form("Subject"))) & "', '" & DBFix(Trim(Request.Form("Comment"))) & "', " & DBFix(Trim(Request("ForumId"))) & ", TRUE, " & IP & ")"
        strSQL.Close
    Else
        tempSQL = "SELECT Subject FROM Entries WHERE Id = " & Request("MessageId") & ""
        Set tempRS = Conn.Execute(tempSQL)
        strSQL = "INSERT INTO Entries"
        strSQL = strSQL & " (Name, Email, Comment, ForumId, ReplyId, Subject, IP)"
        strSQL = strSQL & " VALUES('" & DBFix(Trim(Request.Form("Name"))) & "', '" & DBFix(Trim(Request.Form("Email"))) & "', '" & DBFix(Trim(Request.Form("Comment"))) & "', " & DBFix(Trim(Request("ForumId"))) & "," & DBFix(Trim(Request("MessageId"))) & ",'" & DBFix(Trim(tempRS("Subject"))) & "',  " & IP & ")"
        Conn.Execute(strSQL)

        tempRS.Close
        strSQL.Close
    End If
   
    Posted = 1
   
        strSQL = "UPDATE Entries SET date = NOW () WHERE id = '" & Request.querystring("Messageid") & "'"
        conn.execute(strSQL)
       
strSQL.close
Conn.Close
Set Conn = Nothing

End If
Avatar billede farving Nybegynder
03. juli 2006 - 23:33 #7
hjælper det ikke på det?
Avatar billede miwu.tk Nybegynder
03. juli 2006 - 23:44 #8
nu melder den flg. fejl:

Microsoft VBScript runtime  error '800a01a8'

Object required: 'Conn'

Jeg har prøvet at sætte

myConn.Close

ind til sidst, men det hjalp ikke. Jeg forstår det virkelig ikke.
Avatar billede farving Nybegynder
03. juli 2006 - 23:51 #9
hmm, du kan ikke bruge myconn længere da den ik eksisterer... men hvad linie brokker den sig i... ellers prøv:

=====

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("forum.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strDSN
Posted = 0

Function DBFix(tempString)
    tempString = Replace(Trim(tempString), "'", "''")
    tempString = Replace(tempString, "|", "")
    DBFix = tempString
End Function

If Len(Trim(Request.Form("Subject"))) = 0 AND Len(Trim(Request.Form("Comment"))) = 0 Then
    strSQL = "SELECT * FROM Forums WHERE ID = " & Request("ForumID") & ""
    Set rs = Conn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then
        intForumID = rs("ID")
        strForum = rs("Forum")
    End If
    strSQL.Close
    rs.close
Else
    If Len(Trim(Request.Form("MessageId"))) = 0 Then
        strSQL = "INSERT INTO Entries"
        strSQL = strSQL & " (Name, Email, Subject, Comment, ForumId, Orgthread, IP)"
        strSQL = strSQL & " VALUES('" & DBFix(Trim(Request.Form("Name"))) & "', '" & DBFix(Trim(Request.Form("Email"))) & "', '" & DBFix(Trim(Request.Form("Subject"))) & "', '" & DBFix(Trim(Request.Form("Comment"))) & "', " & DBFix(Trim(Request("ForumId"))) & ", TRUE, " & IP & ")"
        conn.Execute(strSQL)
        strSQL.Close
    Else
        tempSQL = "SELECT Subject FROM Entries WHERE Id = " & Request("MessageId") & ""
        Set tempRS = Conn.Execute(tempSQL)
        strSQL = "INSERT INTO Entries"
        strSQL = strSQL & " (Name, Email, Comment, ForumId, ReplyId, Subject, IP)"
        strSQL = strSQL & " VALUES('" & DBFix(Trim(Request.Form("Name"))) & "', '" & DBFix(Trim(Request.Form("Email"))) & "', '" & DBFix(Trim(Request.Form("Comment"))) & "', " & DBFix(Trim(Request("ForumId"))) & "," & DBFix(Trim(Request("MessageId"))) & ",'" & DBFix(Trim(tempRS("Subject"))) & "',  " & IP & ")"
        Conn.Execute(strSQL)

        tempRS.Close
        strSQL.Close
    End If
   
    Posted = 1
   
        strSQL = "UPDATE Entries SET date = NOW () WHERE id = '" & Request.querystring("Messageid") & "'"
        conn.execute(strSQL)
       
strSQL.close
Conn.Close
Set Conn = Nothing

End If
Avatar billede miwu.tk Nybegynder
04. juli 2006 - 00:28 #10
hov, en lille fejl fra min side. Den melder denne her fejl:

Microsoft VBScript runtime  error '800a01a8'

Object required: 'strSQL'

/forum/forumpost.asp, line 20

samme fejlmeddelelse får jeg hvis jeg benytter dit andet bud. Hvis du gerne vil have den originale kildekode kan den findes her:

http://activedeveloper.dk/download/default.asp?mode=showdownload&id=36
Avatar billede farving Nybegynder
04. juli 2006 - 00:32 #11
Nu har jeg fjernet alle close ting, nu prøver vi lige og ser om det er dem som generer os

===========

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("forum.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strDSN
Posted = 0

Function DBFix(tempString)
    tempString = Replace(Trim(tempString), "'", "''")
    tempString = Replace(tempString, "|", "")
    DBFix = tempString
End Function

If Len(Trim(Request.Form("Subject"))) = 0 AND Len(Trim(Request.Form("Comment"))) = 0 Then
    strSQL = "SELECT * FROM Forums WHERE ID = " & Request("ForumID") & ""
    Set rs = Conn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then
        intForumID = rs("ID")
        strForum = rs("Forum")
    End If
Else
    If Len(Trim(Request.Form("MessageId"))) = 0 Then
        strSQL = "INSERT INTO Entries"
        strSQL = strSQL & " (Name, Email, Subject, Comment, ForumId, Orgthread, IP)"
        strSQL = strSQL & " VALUES('" & DBFix(Trim(Request.Form("Name"))) & "', '" & DBFix(Trim(Request.Form("Email"))) & "', '" & DBFix(Trim(Request.Form("Subject"))) & "', '" & DBFix(Trim(Request.Form("Comment"))) & "', " & DBFix(Trim(Request("ForumId"))) & ", TRUE, " & IP & ")"
        conn.Execute(strSQL)
    Else
        tempSQL = "SELECT Subject FROM Entries WHERE Id = " & Request("MessageId") & ""
        Set tempRS = Conn.Execute(tempSQL)
        strSQL = "INSERT INTO Entries"
        strSQL = strSQL & " (Name, Email, Comment, ForumId, ReplyId, Subject, IP)"
        strSQL = strSQL & " VALUES('" & DBFix(Trim(Request.Form("Name"))) & "', '" & DBFix(Trim(Request.Form("Email"))) & "', '" & DBFix(Trim(Request.Form("Comment"))) & "', " & DBFix(Trim(Request("ForumId"))) & "," & DBFix(Trim(Request("MessageId"))) & ",'" & DBFix(Trim(tempRS("Subject"))) & "',  " & IP & ")"
        Conn.Execute(strSQL)
    End If
   
    Posted = 1
   
        strSQL = "UPDATE Entries SET date = NOW () WHERE id = '" & Request.querystring("Messageid") & "'"
        conn.execute(strSQL)
Set Conn = Nothing

End If
Avatar billede miwu.tk Nybegynder
04. juli 2006 - 11:26 #12
nu melder den flg fejL:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.

/forum/forumpost.asp, line 32
Avatar billede farving Nybegynder
04. juli 2006 - 17:26 #13
kan du ikke ligefortælle mig hvad Datatype de forskellige kolonner er, for det afhænger af hvordan '' og "" skal sættes

Mvh Carsten
Avatar billede miwu.tk Nybegynder
04. juli 2006 - 19:49 #14
Name: Tekst
Email: Tekst
Subject: Tekst
Comment: Notat
ForumId: Tal
Orgthread: Ja/Nej (check felt)
IP: Tal

Du kunne vel ikke forklare mig lidt om '' og ""? Bare så jeg måske i fremtiden ikke laver fejl med det :)
Avatar billede miwu.tk Nybegynder
04. juli 2006 - 19:51 #15
hov glemte lige:

date: dato og klokkeslæt
id: autonummerering
Avatar billede farving Nybegynder
04. juli 2006 - 20:12 #16
der skal også være en ReplyID :) Her du nemlig annonceret her:

        strSQL = strSQL & " (Name, Email, Comment, ForumId, ReplyId, Subject, IP)"

hmm, "" sættes rundt om alt, men hvis det ikke er et tal dvs text så skal der '' UDENPÅ ""...

ex

strSQL = "INSERT INTO tabel (test) VALUES (" & tal & ")"

her har vi en variabel ved navn tal, som indeholder et tal :) som indsættes i en kolonne af typen tal :)

ex 2

strSQL = "INSERT INTO tabel (test) VALUES ('" & text & "')"

her har vi en variabel ved navn text, som indeholder text som indsættes i en kolonne af typen text...

hvis det er en true/false kolonne betegnes den også som text, medmindre den læser true og false som 0 og 1 :)

Mvh Carsten
Avatar billede miwu.tk Nybegynder
04. juli 2006 - 20:27 #17
ReplyID er også et tal. Vil det være lettere for dig hvis jeg sendte dig filen og databasen pr email?
Avatar billede farving Nybegynder
04. juli 2006 - 20:50 #18
Det er så vidt jeg ved ikke lovligt ifl Ekspertens reglement..

Men jeg prøver lige at sætte koden op lidt anderledes hvis det er okay :)

Mvh Carsten
Avatar billede farving Nybegynder
04. juli 2006 - 21:01 #19
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("forum.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strDSN
Posted = 0

Function DBFix(tempString)
    tempString = Replace(Trim(tempString), "'", "''")
    tempString = Replace(tempString, "|", "")
    DBFix = tempString
End Function

If Len(Trim(Request.Form("Subject"))) = 0 AND Len(Trim(Request.Form("Comment"))) = 0 Then
    dim ForumID = Request.Form("ForumID")
    strSQL = "SELECT * FROM Forums WHERE ID = " & Request.Form("ForumID") & ""
    Set rs = Conn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then
        intForumID = rs("ID")
        strForum = rs("Forum")
    End If
Else
    dim tempName, tempEmail, tempSubject, tempComment, tempForumId, tempMessageId
    tempName = DBFix(Trim(Request.Form("Name")))
    tempEmail = DBFix(Trim(Request.Form("Email")))
    tempSubject = DBFix(Trim(Request.Form("Subject")))
    tempComment = DBFix(Trim(Request.Form("Comment")))
    tempForumId = DBFix(Trim(Request.Form("ForumId")))
    tempMessageId = DBFix(Trim(Request.Form("MessageId")))

    If Len(tempMessageId) = 0 Then
        strSQL = "INSERT INTO Entries"
        strSQL = strSQL & " (Name, Email, Subject, Comment, ForumId, Orgthread, IP)"
        strSQL = strSQL & " VALUES('" & tempName & "', '" & tempEmail & "', '" & tempSubject & "', '" & tempComment & "', " & tempForumId & ", TRUE, " & IP & ")"
        conn.Execute(strSQL)
    Else
        tempSQL = "SELECT Subject FROM Entries WHERE Id = " & Request("MessageId") & ""
        Set tempRS = Conn.Execute(tempSQL)
        strSQL = "INSERT INTO Entries (Name, Email, Comment, ForumId, ReplyId, Subject, IP)"
        strSQL = strSQL & " VALUES('" & tempName & "', '" & tempEmail & "', '" & tempComment & "', " & tempForumId & "," & tempMessageId & ",'" & tempSubject & "', " & IP & ")"
        Conn.Execute(strSQL)
    End If
   
    Posted = 1
   
        strSQL = "UPDATE Entries SET date = NOW () WHERE id = " & Request.querystring("Messageid") & ""
        conn.execute(strSQL)
Set Conn = Nothing

End If
Avatar billede farving Nybegynder
04. juli 2006 - 21:02 #20
Finder lidt hist og her :)

===

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("forum.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strDSN
Posted = 0

Function DBFix(tempString)
    tempString = Replace(Trim(tempString), "'", "''")
    tempString = Replace(tempString, "|", "")
    DBFix = tempString
End Function

If Len(Trim(Request.Form("Subject"))) = 0 AND Len(Trim(Request.Form("Comment"))) = 0 Then
    dim ForumID = Request.Form("ForumID")
    strSQL = "SELECT * FROM Forums WHERE ID = " & Request.Form("ForumID") & ""
    Set rs = Conn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then
        intForumID = rs("ID")
        strForum = rs("Forum")
    End If
Else
    dim tempName, tempEmail, tempSubject, tempComment, tempForumId, tempMessageId
    tempName = DBFix(Trim(Request.Form("Name")))
    tempEmail = DBFix(Trim(Request.Form("Email")))
    tempSubject = DBFix(Trim(Request.Form("Subject")))
    tempComment = DBFix(Trim(Request.Form("Comment")))
    tempForumId = DBFix(Trim(Request.Form("ForumId")))
    tempMessageId = DBFix(Trim(Request.Form("MessageId")))

    If Len(tempMessageId) = 0 Then
        strSQL = "INSERT INTO Entries"
        strSQL = strSQL & " (Name, Email, Subject, Comment, ForumId, Orgthread, IP)"
        strSQL = strSQL & " VALUES('" & tempName & "', '" & tempEmail & "', '" & tempSubject & "', '" & tempComment & "', " & tempForumId & ", TRUE, " & IP & ")"
        conn.Execute(strSQL)
    Else
        tempSQL = "SELECT Subject FROM Entries WHERE Id = " & tempMessageId & ""
        Set tempRS = Conn.Execute(tempSQL)
        strSQL = "INSERT INTO Entries (Name, Email, Comment, ForumId, ReplyId, Subject, IP)"
        strSQL = strSQL & " VALUES('" & tempName & "', '" & tempEmail & "', '" & tempComment & "', " & tempForumId & "," & tempMessageId & ",'" & tempSubject & "', " & IP & ")"
        Conn.Execute(strSQL)
    End If
   
    Posted = 1
   
        strSQL = "UPDATE Entries SET date = NOW () WHERE id = " & Request.querystring("Messageid") & ""
        conn.execute(strSQL)
Set Conn = Nothing

End If
Avatar billede miwu.tk Nybegynder
04. juli 2006 - 23:00 #21
Der er åbenbart noget der er skrevet forkert.. jeg kan ikke selv se det.

Microsoft VBScript compilation  error '800a0401'

Expected end of statement

/forum/forumpost.asp, line 14

dim ForumID = Request.Form("ForumID")
------------^

Hvad er det "dim" betyder?
Avatar billede farving Nybegynder
04. juli 2006 - 23:33 #22
dim indikere at det er en variabel...

======

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("forum.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strDSN
Posted = 0

Function DBFix(tempString)
    tempString = Replace(Trim(tempString), "'", "''")
    tempString = Replace(tempString, "|", "")
    DBFix = tempString
End Function

    dim tempName, tempEmail, tempSubject, tempComment, tempForumId, tempMessageId
    tempName = DBFix(Trim(Request.Form("Name")))
    tempEmail = DBFix(Trim(Request.Form("Email")))
    tempSubject = DBFix(Trim(Request.Form("Subject")))
    tempComment = DBFix(Trim(Request.Form("Comment")))
    tempForumId = DBFix(Trim(Request.Form("ForumId")))
    tempMessageId = DBFix(Trim(Request.Form("MessageId")))


If (Len(tempSubject) = 0) AND (Len(tempComment) = 0) Then
    strSQL = "SELECT * FROM Forums WHERE ID = " & tempForumId & ""
    Set rs = Conn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then
        intForumID = rs("ID")
        strForum = rs("Forum")
    End If
Else
    If Len(tempMessageId) = 0 Then
        strSQL = "INSERT INTO Entries"
        strSQL = strSQL & " (Name, Email, Subject, Comment, ForumId, Orgthread, IP)"
        strSQL = strSQL & " VALUES('" & tempName & "', '" & tempEmail & "', '" & tempSubject & "', '" & tempComment & "', " & tempForumId & ", TRUE, " & IP & ")"
        conn.Execute(strSQL)
    Else
        tempSQL = "SELECT Subject FROM Entries WHERE Id = " & tempMessageId & ""
        Set tempRS = Conn.Execute(tempSQL)
        strSQL = "INSERT INTO Entries (Name, Email, Comment, ForumId, ReplyId, Subject, IP)"
        strSQL = strSQL & " VALUES('" & tempName & "', '" & tempEmail & "', '" & tempComment & "', " & tempForumId & "," & tempMessageId & ",'" & tempSubject & "', " & IP & ")"
        Conn.Execute(strSQL)
    End If
   
    Posted = 1
   
        strSQL = "UPDATE Entries SET date = NOW () WHERE id = " & Request.querystring("Messageid") & ""
        conn.execute(strSQL)
Set Conn = Nothing

End If
Avatar billede miwu.tk Nybegynder
04. juli 2006 - 23:42 #23
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'ID ='.

/forum/forumpost.asp, line 25
Avatar billede farving Nybegynder
05. juli 2006 - 00:01 #24
hmmm, enten er det sommer varmen eller mig, for jeg kan ikke se den fejl der...

Kigger på den i morgen...

Mvh Carsten
Avatar billede farving Nybegynder
05. juli 2006 - 17:36 #25
Har lagt halv søvnløs, men fundet fejlen - tror jeg...

det er fordi tempForumId er tom :)

    tempForumId = DBFix(Trim(Request.Form("ForumId")))
denne kode skal rettes så den får værdien af forum ID... hvordan ved du vist bedst

Mvh Carsten
Avatar billede farving Nybegynder
05. juli 2006 - 23:11 #26
er ForumId noget der hentes fra en form eller fra noget andet?

Mvh Carsten
Avatar billede miwu.tk Nybegynder
06. juli 2006 - 00:28 #27
Udsnit af formskemadelen:

<%
If Len(Trim(Request.Form("Subject"))) = 0 AND Len(Trim(Request.Form("Comment"))) = 0 Then
%>
    <table>
  <tr>
    <td><strong><big>Forum:
<% If Posted = 0 Then Response.Write strForum%></big></strong></td>
  </tr>
  <tr>
    <td width="100%"><% If Posted = 0 Then %>
<p align="left"><font face="Verdana"><b><small><a href="default.asp">Til
    oversigt</a></small></b></font> <%End If%> </td>
  </tr>
  <tr>
    <tr>
    <td>
<form method="POST" action="forumpost.asp?MessageID=<%=Trim(Request("MessageID"))%>">
      <input type="hidden" name="ForumID" value="<%=intForumID%>"><input type="hidden"
      name="MessageID" value="<%=Trim(Request("MessageID"))%>"><table border="0" width="100%"
      cellspacing="1" cellpadding="0">
    </td>
</tr>   

jeg vil umiddelbart mene at det er en form, men jeg er ikke sikker på om input også går under den kategori?
Avatar billede farving Nybegynder
06. juli 2006 - 09:34 #28
Ja, den burde da få noget med... hvis ForumId i formen har en værdi? hvordan får du intForumID frem?

Mvh Carsten
Avatar billede miwu.tk Nybegynder
06. juli 2006 - 10:13 #29
jeg ved det ærlig talt ikke. Som sagt har jeg downloadet skidtet forprogrammeret, og der er i den forbindelse blevet brugt ASP kodning som er alt for avanceret i forhold til hvad jeg kan :S Hele forumpost.asp filen ser således ud:

<%
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("forum.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strDSN
Posted = 0

Function DBFix(tempString)
    tempString = Replace(Trim(tempString), "'", "''")
    tempString = Replace(tempString, "|", "")
    DBFix = tempString
End Function

    dim tempName, tempEmail, tempSubject, tempComment, tempForumId, tempMessageId
    tempName = DBFix(Trim(Request.Form("Name")))
    tempEmail = DBFix(Trim(Request.Form("Email")))
    tempSubject = DBFix(Trim(Request.Form("Subject")))
    tempComment = DBFix(Trim(Request.Form("Comment")))
    tempForumId = DBFix(Trim(Request.Form("ForumId")))
    tempMessageId = DBFix(Trim(Request.Form("MessageId")))


If (Len(tempSubject) = 0) AND (Len(tempComment) = 0) Then
    strSQL = "SELECT * FROM Forums WHERE ID = " & tempForumId & ""
    Set rs = Conn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then
        intForumID = rs("ID")
        strForum = rs("Forum")
    End If
Else
    If Len(tempMessageId) = 0 Then
        strSQL = "INSERT INTO Entries"
        strSQL = strSQL & " (Name, Email, Subject, Comment, ForumId, Orgthread, IP)"
        strSQL = strSQL & " VALUES('" & tempName & "', '" & tempEmail & "', '" & tempSubject & "', '" & tempComment & "', " & tempForumId & ", TRUE, " & IP & ")"
        conn.Execute(strSQL)
    Else
        tempSQL = "SELECT Subject FROM Entries WHERE Id = " & tempMessageId & ""
        Set tempRS = Conn.Execute(tempSQL)
        strSQL = "INSERT INTO Entries (Name, Email, Comment, ForumId, ReplyId, Subject, IP)"
        strSQL = strSQL & " VALUES('" & tempName & "', '" & tempEmail & "', '" & tempComment & "', " & tempForumId & "," & tempMessageId & ",'" & tempSubject & "', " & IP & ")"
        Conn.Execute(strSQL)
    End If
 
    Posted = 1
 
        strSQL = "UPDATE Entries SET date = NOW () WHERE id = " & Request.querystring("Messageid") & ""
        conn.execute(strSQL)
Set Conn = Nothing

End If
%>

<html>
<head>
<title>[ Post en besked ]</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>

<body topmargin="2" leftmargin="0" marginwidth="0" marginheight="2">
<div align="center"><center>

<table border="0" width="600" cellspacing="1" cellpadding="0">
    <td width="100%">
    <center>
<%
If Len(Trim(Request.Form("Subject"))) = 0 AND Len(Trim(Request.Form("Comment"))) = 0 Then
%>
    <table>
  <tr>
    <td><strong><big>Forum:
<% If Posted = 0 Then Response.Write strForum%></big></strong></td>
  </tr>
  <tr>
    <td width="100%"><% If Posted = 0 Then %>
<p align="left"><font face="Verdana"><b><small><a href="default.asp">Til
    oversigt</a></small></b></font> <%End If%> </td>
  </tr>
  <tr>
    <tr>
    <td>
<form method="POST" action="forumpost.asp?MessageID=<%=Trim(Request("MessageID"))%>">
      <input type="hidden" name="ForumID" value="<%=intForumID%>"><input type="hidden"
      name="MessageID" value="<%=Trim(Request("MessageID"))%>"><table border="0" width="100%"
      cellspacing="1" cellpadding="0">
    </td>
</tr>   
        <tr>
          <td align="left"><small>Navn:</small></td>
          <td align="left"><small><input type="text"
          name="name" size="20"></small></td>
        </tr>
<% if Request.Querystring ("type") = 1 then
    Response.Write ""

    else %>

    <tr>
              <td align="left"><small>Titel:</small></td>
              <td align="left"><small><input type="text"
              name="Subject" size="30"></font></small></td>
          </tr>
<% End if %>
        <tr>
          <td valign="top" align="left"><small>Besked:</small></td>
          <td align="left"><textarea rows="15" name="Comment" cols="100"></textarea></td>
        </tr>
    <tr><td colspan="2">
      <p align="right"><input style="border: 1px solid; color:gray;" type="submit" value="Send" name="Action"></p>
    </form>
    </td></tr>
    </table>   
    </center>
    </td>
    </tr>
      </table>


<% Else
    response.redirect ("default.asp")   
  End If %>
  </tr>
</table>
</center></div>
</body>
</html>
Avatar billede miwu.tk Nybegynder
06. juli 2006 - 10:14 #30
Det skal iøvrigt siges at det hele faktisk fungerede fint inden jeg havde den perverse trang til at tilføje en opdatering af dato efter data posting. :)
Avatar billede farving Nybegynder
06. juli 2006 - 19:32 #31
okay, så prøv at rette

    tempForumId = DBFix(Trim(Request.Form("ForumId")))
til
    tempForumId = DBFix(Trim(Request("ForumId")))

Det burde ikke virke, jeg kan bare huske at den stod sådan før jeg ændrede i det...

Mvh Carsten
Avatar billede miwu.tk Nybegynder
06. juli 2006 - 20:05 #32
Den melder stadig den samme fejl :(

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'ID ='.

/forum/forumpost.asp, line 25
Avatar billede miwu.tk Nybegynder
06. juli 2006 - 20:08 #33
Hjælper det iøvrigt at når der skal oprettes tråde, så fås ForumID bl.a. vha. querystring?

eks: forum/forumpost.asp?ForumId=5

Ligeledes når der skal skrives indlæg i trådene så er linket: forum/forumpost.asp?ForumId=5&MessageId=595&type=1
Avatar billede morhan Novice
06. juli 2006 - 20:18 #34
Mht til din UPDATE, så kræver access at du sætter # (og ikke apostrof) rundt om datoen i din sql
Avatar billede miwu.tk Nybegynder
06. juli 2006 - 20:24 #35
dvs. at det skal se sådan her ud?

strSQL = "UPDATE Entries SET date = " & #NOW# & " () WHERE id = " & Request.querystring("Messageid") & ""
Avatar billede morhan Novice
06. juli 2006 - 20:44 #36
Now er en funktion som findes i både asp og access. Hvis du benytter den fra asp, ses den fra access som en almindelig variabel, og der skal # (og uden parenteser i strengen)

Hvis du benytter Access' Now funktion , skal der ikke noget rundt om


strSQL = "UPDATE Entries SET date = #" & Now & "# WHERE id = " & Request.querystring("Messageid") & ""

eller

strSQL = "UPDATE Entries SET date = Now() WHERE id = " & Request.querystring("Messageid") & ""
Avatar billede morhan Novice
06. juli 2006 - 20:46 #37
De firkantede parenteser skal benyttes, hvis du gør brug af reserverede navne. Date er et sådant navn, så der skal [] rundt om, ellers får du syntax fejl
Avatar billede farving Nybegynder
06. juli 2006 - 21:14 #38
[Hjælper det iøvrigt at når der skal oprettes tråde, så fås ForumID bl.a. vha. querystring?]
- kan mange gange være en fordel fordi man kan holde øje med om den fører ID'et med sig

[Ligeledes når der skal skrives indlæg i trådene så er linket: forum/forumpost.asp?ForumId=5&MessageId=595&type=1]
- ID'er er mange gange nemmest at føre over vha Querystrings...

morhan, okay tak for hjælpen, er selv mest hjemmevant i MySQL :)

Mvh Carsten
Avatar billede miwu.tk Nybegynder
07. juli 2006 - 00:28 #39
Jeg har nu stadig den samme fejlmelding. Jeg forstår det virkelig ikke... det er helt forståeligt hvis du giver op Carsten. Måske skaber det hele mere bøvl end det er værd =/
Avatar billede farving Nybegynder
07. juli 2006 - 09:35 #40
Prøv at ændre dine forms fra name til ID... Ved ikke om det har noget som helst at sige...

Men nej jeg giver da ikke op :) fejlen er der, og den skal da også findes...

Mvh Carsten
Avatar billede miwu.tk Nybegynder
10. juli 2006 - 17:59 #41
det sker ikke det helt store, men nu får jeg flg fejlmelding

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.

/forum/forumpost.asp, line 34
Avatar billede miwu.tk Nybegynder
10. juli 2006 - 18:03 #42
"[Hjælper det iøvrigt at når der skal oprettes tråde, så fås ForumID bl.a. vha. querystring?]
- kan mange gange være en fordel fordi man kan holde øje med om den fører ID'et med sig"

Jeg tror jeg har formuleret mig lidt forkert. Det jeg prøvede at sige var at jeg tror at ForumID og MessageID fås gennem querystring'en. Nu ved jeg ikke om man kan se det i koden, men det har vist sig at være tilfældet da jeg engang for langtid siden testede forummet på forskellige led.
Avatar billede farving Nybegynder
10. juli 2006 - 19:02 #43
okay så ret reguest.form("") til request.querystring("")

Mvh Carsten
Avatar billede miwu.tk Nybegynder
10. juli 2006 - 19:30 #44
det virker stadig ikke, og jeg får den samme fejl. Skal jeg prøve at poste kildekoden inden jeg begyndte at redigere i den?
Avatar billede farving Nybegynder
10. juli 2006 - 21:12 #45
ja alt hvad du har lige fra <html> til </html>

Mvh Carsten
Avatar billede miwu.tk Nybegynder
10. juli 2006 - 21:52 #46
<%
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("forum.mdb")

Function DBFix(tempString)
    tempString = Replace(Trim(tempString), "'", "''")
    tempString = Replace(tempString, "|", "")
    DBFix = tempString
End Function

Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN
Posted = 0

If Len(Trim(Request.Form("Subject"))) = 0 AND Len(Trim(Request.Form("Comment"))) = 0 Then
    strSQL = "SELECT * FROM Forums WHERE (ID = " & Request("ForumID") & ")"
    Set rs = myConn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then
        intForumID = rs("ID")
        strForum = rs("Forum")
    End If
Else
    strSQL = "INSERT INTO Entries"
    If Len(Trim(Request.Form("MessageId"))) = 0 Then
        strSQL = strSQL & " (Name, Email, Subject, Comment, ForumId, Orgthread, IP)"
        strSQL = strSQL & " VALUES('" & DBFix(Trim(Request.Form("Name"))) & "', '" & DBFix(Trim(Request.Form("Email"))) & "', '" & DBFix(Trim(Request.Form("Subject"))) & "', '" & DBFix(Trim(Request.Form("Comment"))) & "', '" & DBFix(Trim(Request("ForumId"))) & "', TRUE, '" & strIP & "');"
    Else
        tempSQL = "SELECT Subject FROM Entries WHERE (Id = " & Request("MessageId") & ")"
        Set tempRS = myConn.Execute(tempSQL)
        strSQL = strSQL & " (Name, Email, Comment, ForumId, ReplyId, Subject, IP)"
        strSQL = strSQL & " VALUES('" & DBFix(Trim(Request.Form("Name"))) & "', '" & DBFix(Trim(Request.Form("Email"))) & "', '" & DBFix(Trim(Request.Form("Comment"))) & "', '" & DBFix(Trim(Request("ForumId"))) & "','" & DBFix(Trim(Request("MessageId"))) & "','" & DBFix(Trim(tempRS("Subject"))) & "', '" & strIP & "' );"
        tempRS.Close
    End If
    myConn.Execute(strSQL)
    Posted = 1


End If
myConn.Close
%>

<html>
<head>
<title>Forum 53 [ Post en besked ]</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>

<body topmargin="2" leftmargin="0" marginwidth="0" marginheight="2">
<div align="center"><center>

<table border="0" width="600" cellspacing="1" cellpadding="0">
    <tr>
        <td><center><img src="topbanner.jpg"></img></center></td>
    </tr>
<tr>
    <td height="45" width="600" colspan="3" style="border: 1px solid;color: #E69B20;" bgcolor="#FFFFFF">
        <table topmargin="2" width="600" leftmargin="0" marginwidth="0" marginheight="0">
            <tr>
                <td>
                    <center>
                    <a href="../index.html" class="menu">index</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="../sites/portfolio.html" class="menu">portfolio</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="../sites/billeder.html" class="menu">billeder</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="default.asp" class="menu">forum</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="../gbog/default.html" class="menu">gæstebog</a>
                    </center>
                </td>
            </tr>
        </table>
    </td>
</tr>
    <td width="100%">
    <center>
<%
If Len(Trim(Request.Form("Subject"))) = 0 AND Len(Trim(Request.Form("Comment"))) = 0 Then
%>
    <table>
  <tr>
    <td><strong><big>Forum:
<% If Posted = 0 Then Response.Write strForum%></big></strong></td>
  </tr>
  <tr>
    <td width="100%"><% If Posted = 0 Then %>
<p align="left"><font face="Verdana"><b><small><a href="default.asp">Til
    oversigt</a></small></b></font> <%End If%> </td>
  </tr>
  <tr>
    <tr>
    <td>
<form method="POST" action="forumpost.asp?MessageID=<%=Trim(Request("MessageID"))%>">
      <input type="hidden" name="ForumID" value="<%=intForumID%>"><input type="hidden"
      name="MessageID" value="<%=Trim(Request("MessageID"))%>"><table border="0" width="100%"
      cellspacing="1" cellpadding="0">
    </td>
</tr>   
        <tr>
          <td align="left"><small>Navn:</small></td>
          <td align="left"><small><input type="text"
          name="name" size="20"></small></td>
        </tr>
<% if Request.Querystring ("type") = 1 then
    Response.Write ""

    else %>

    <tr>
              <td align="left"><small>Titel:</small></td>
              <td align="left"><small><input type="text"
              name="Subject" size="30"></font></small></td>
          </tr>
<% End if %>
        <tr>
          <td valign="top" align="left"><small>Besked:</small></td>
          <td align="left"><textarea rows="15" name="Comment" cols="100"></textarea></td>
        </tr>
    <tr><td colspan="2">
      <p align="right"><input style="border: 1px solid; color:gray;" type="submit" value="Send" name="Action"></p>
    </form>
    </td></tr>
    </table>   
    </center>
    </td>
    </tr>
      </table>


<% Else
    response.redirect ("default.asp")   
  End If %>
  </tr>
</table>
</center></div>
</body>
</html>
Avatar billede miwu.tk Nybegynder
10. juli 2006 - 21:54 #47
argh... jeg glemte lige at kopiere flg linje med:


strIP = request.servervariables("REMOTE_ADDR")


Den ligger i helt i toppen inden strDSN starter.
Avatar billede farving Nybegynder
10. juli 2006 - 22:37 #48
<%
strIP = request.servervariables("REMOTE_ADDR")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("forum.mdb")

Function DBFix(tempString)
    tempString = Replace(Trim(tempString), "'", "''")
    tempString = Replace(tempString, "|", "")
    DBFix = tempString
End Function

Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN
Posted = 0

    dim tempName, tempEmail, tempSubject, tempComment, tempForumId, tempMessageId
    tempName = DBFix(Trim(Request.Form("Name")))
    tempEmail = DBFix(Trim(Request.Form("Email")))
    tempSubject = DBFix(Trim(Request.Form("Subject")))
    tempComment = DBFix(Trim(Request.Form("Comment")))
    tempForumId = DBFix(Trim(Request.Form("ForumId")))
    tempMessageId = DBFix(Trim(Request.Form("MessageId")))


If (Len(tempSubject) = 0) AND (Len(tempComment) = 0) Then
    strSQL = "SELECT * FROM Forums WHERE ID = " & Request.Querystring("ForumID") & ""
    Set rs = myConn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then
        intForumID = rs("ID")
        strForum = rs("Forum")
    End If
Else
    strSQL = "INSERT INTO Entries"
    If Len(tempMessageId) = 0 Then
        strSQL = strSQL & " (Name, Email, Subject, Comment, ForumId, Orgthread, IP)"
        strSQL = strSQL & " VALUES('" & tempName & "', '" & tempEmail & "', '" & tempSubject & "', '" & tempComment & "', " & tempForumId & ", TRUE, " & strIP & ")"
    Else
***        tempSQL = "SELECT Subject FROM Entries WHERE Id = " & Request.Querystring("MessageId") & ""
        Set tempRS = myConn.Execute(tempSQL)
        strSQL = strSQL & " (Name, Email, Comment, ForumId, ReplyId, Subject, IP)"
        strSQL = strSQL & " VALUES('" & tempName & "', '" & tempEmail & "', '" & tempComment & "', " & tempForumId & "," & tempMessageId & ",'" & tempSubject & "', " & strIP & ")"
        tempRS.Close
    End If
    myConn.Execute(strSQL)
    Posted = 1


End If
myConn.Close
%>

<html>
<head>
<title>Forum 53 [ Post en besked ]</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>

<body topmargin="2" leftmargin="0" marginwidth="0" marginheight="2">
<div align="center"><center>

<table border="0" width="600" cellspacing="1" cellpadding="0">
    <tr>
        <td><center><img src="topbanner.jpg"></img></center></td>
    </tr>
<tr>
    <td height="45" width="600" colspan="3" style="border: 1px solid;color: #E69B20;" bgcolor="#FFFFFF">
        <table topmargin="2" width="600" leftmargin="0" marginwidth="0" marginheight="0">
            <tr>
                <td>
                    <center>
                    <a href="../index.html" class="menu">index</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="../sites/portfolio.html" class="menu">portfolio</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="../sites/billeder.html" class="menu">billeder</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="default.asp" class="menu">forum</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="../gbog/default.html" class="menu">gæstebog</a>
                    </center>
                </td>
            </tr>
        </table>
    </td>
</tr>
    <td width="100%">
    <center>
<%
If (Len(tempSubject) = 0) AND (Len(tempComment) = 0) Then
%>
    <table>
  <tr>
    <td><strong><big>Forum:
<% If Posted = 0 Then Response.Write strForum%></big></strong></td>
  </tr>
  <tr>
    <td width="100%"><% If Posted = 0 Then %>
<p align="left"><font face="Verdana"><b><small><a href="default.asp">Til
    oversigt</a></small></b></font> <%End If%> </td>
  </tr>
  <tr>
    <tr>
    <td>
<form method="POST" action="forumpost.asp?MessageID=<%=Rs("MessageID")%>">
      <input type="hidden" name="ForumID" value="<%=intForumID%>"><input type="hidden"
      name="MessageID" value="<%=Rs("MessageID")%>"><table border="0" width="100%"
      cellspacing="1" cellpadding="0">
    </td>
</tr>   
        <tr>
          <td align="left"><small>Navn:</small></td>
          <td align="left"><small><input type="text"
          name="name" size="20"></small></td>
        </tr>
<% if Request.Querystring("type") = 1 then
    Response.Write ""

    else %>

    <tr>
              <td align="left"><small>Titel:</small></td>
              <td align="left"><small><input type="text"
              name="Subject" size="30"></font></small></td>
          </tr>
<% End if %>
        <tr>
          <td valign="top" align="left"><small>Besked:</small></td>
          <td align="left"><textarea rows="15" name="Comment" cols="100"></textarea></td>
        </tr>
    <tr><td colspan="2">
      <p align="right"><input style="border: 1px solid; color:gray;" type="submit" value="Send" name="Action"></p>
    </form>
    </td></tr>
    </table>   
    </center>
    </td>
    </tr>
      </table>


<% Else
    response.redirect ("default.asp")   
  End If %>
  </tr>
</table>
</center></div>
</body>
</html>

======

Har sat *** et sted i koden, hvad bruger du denne select til? og har rettet noget jeg tror kan skyldes fejlene, fx at det er fra recordsættet tingene sku hentes og hverken fra querystringen eller formen :)

Mvh Carsten
Avatar billede miwu.tk Nybegynder
11. juli 2006 - 16:21 #49
***: Jeg tror at det bliver brugt til at skrive indlæg i bestemte tråde. Sådan tolker jeg ihvertfald linjen.

Jeg får nu den her fejl:

ADODB.Recordset error '800a0cc1'

Item cannot be found in the collection corresponding to the requested name or ordinal.

/forum/forumpost.asp, line 115

men da jeg ikke har andet end noteblok, så er det lidt svært at se hvilken linje der er tale om. Jeg tror ellers det vil være let for mig at rette det, hvis du kunne hjælpe mig med at finde linjen.

PS: Du har vel ikke et godt tip til et gratis program til hjemmesider med linjeviser? :)
Avatar billede farving Nybegynder
11. juli 2006 - 17:31 #50
hmm jeg bruger selv TSW webcoder men har en licens fra før det blev en non-commercial-licens...

=======

<%
strIP = request.servervariables("REMOTE_ADDR")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("forum.mdb")

Function DBFix(tempString)
    tempString = Replace(Trim(tempString), "'", "''")
    tempString = Replace(tempString, "|", "")
    DBFix = tempString
End Function

Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN
Posted = 0

    dim tempName, tempEmail, tempSubject, tempComment, tempForumId, tempMessageId
    tempName = DBFix(Trim(Request.Form("Name")))
    tempEmail = DBFix(Trim(Request.Form("Email")))
    tempSubject = DBFix(Trim(Request.Form("Subject")))
    tempComment = DBFix(Trim(Request.Form("Comment")))
    tempForumId = DBFix(Trim(Request.Form("ForumId")))
    tempMessageId = DBFix(Trim(Request.Form("MessageId")))


If (Len(tempSubject) = 0) AND (Len(tempComment) = 0) Then
    strSQL = "SELECT * FROM Forums WHERE ID = " & Request.Querystring("ForumID") & ""
    Set rs = myConn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then
        intForumID = rs("ID")
        strForum = rs("Forum")
    End If
Else
    strSQL = "INSERT INTO Entries"
    If Len(tempMessageId) = 0 Then
        strSQL = strSQL & " (Name, Email, Subject, Comment, ForumId, Orgthread, IP)"
        strSQL = strSQL & " VALUES('" & tempName & "', '" & tempEmail & "', '" & tempSubject & "', '" & tempComment & "', " & tempForumId & ", TRUE, " & strIP & ")"
    Else
***        tempSQL = "SELECT Subject FROM Entries WHERE Id = " & Request.Querystring("MessageId") & ""
        Set tempRS = myConn.Execute(tempSQL)
        strSQL = strSQL & " (Name, Email, Comment, ForumId, ReplyId, Subject, IP)"
        strSQL = strSQL & " VALUES('" & tempName & "', '" & tempEmail & "', '" & tempComment & "', " & tempForumId & "," & tempMessageId & ",'" & tempSubject & "', " & strIP & ")"
        tempRS.Close
    End If
    myConn.Execute(strSQL)
    Posted = 1


End If
myConn.Close
%>

<html>
<head>
<title>Forum 53 [ Post en besked ]</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>

<body topmargin="2" leftmargin="0" marginwidth="0" marginheight="2">
<div align="center"><center>

<table border="0" width="600" cellspacing="1" cellpadding="0">
    <tr>
        <td><center><img src="topbanner.jpg"></img></center></td>
    </tr>
<tr>
    <td height="45" width="600" colspan="3" style="border: 1px solid;color: #E69B20;" bgcolor="#FFFFFF">
        <table topmargin="2" width="600" leftmargin="0" marginwidth="0" marginheight="0">
            <tr>
                <td>
                    <center>
                    <a href="../index.html" class="menu">index</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="../sites/portfolio.html" class="menu">portfolio</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="../sites/billeder.html" class="menu">billeder</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="default.asp" class="menu">forum</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="../gbog/default.html" class="menu">gæstebog</a>
                    </center>
                </td>
            </tr>
        </table>
    </td>
</tr>
    <td width="100%">
    <center>
<%
If (Len(tempSubject) = 0) AND (Len(tempComment) = 0) Then
%>
    <table>
  <tr>
    <td><strong><big>Forum:
<% If Posted = 0 Then Response.Write strForum%></big></strong></td>
  </tr>
  <tr>
    <td width="100%"><% If Posted = 0 Then %>
<p align="left"><font face="Verdana"><b><small><a href="default.asp">Til
    oversigt</a></small></b></font> <%End If%> </td>
  </tr>
  <tr>
    <tr>
    <td>
<form method="POST" action="forumpost.asp?MessageID=<%=Request.Form("MessageID")%>">
      <input type="hidden" name="ForumID" value="<%=intForumID%>"><input type="hidden"
      name="MessageID" value="<%=Rs("MessageID")%>"><table border="0" width="100%"
      cellspacing="1" cellpadding="0">
    </td>
</tr>   
        <tr>
          <td align="left"><small>Navn:</small></td>
          <td align="left"><small><input type="text"
          name="name" size="20"></small></td>
        </tr>
<% if Request.Querystring("type") = 1 then
    Response.Write ""

    else %>

    <tr>
              <td align="left"><small>Titel:</small></td>
              <td align="left"><small><input type="text"
              name="Subject" size="30"></font></small></td>
          </tr>
<% End if %>
        <tr>
          <td valign="top" align="left"><small>Besked:</small></td>
          <td align="left"><textarea rows="15" name="Comment" cols="100"></textarea></td>
        </tr>
    <tr><td colspan="2">
      <p align="right"><input style="border: 1px solid; color:gray;" type="submit" value="Send" name="Action"></p>
    </form>
    </td></tr>
    </table>   
    </center>
    </td>
    </tr>
      </table>


<% Else
    response.redirect ("default.asp")   
  End If %>
  </tr>
</table>
</center></div>
</body>
</html>
Avatar billede miwu.tk Nybegynder
11. juli 2006 - 18:28 #51
Fejlen ligger i:

<form method="POST" action="forumpost.asp?MessageID=<%=Request.Form("MessageID")%>">
      <input type="hidden" name="ForumID" value="<%=intForumID%>"><input type="hidden"
      name="MessageID" value="<%=Rs("ID")%>"><table border="0" width="100%"
      cellspacing="1" cellpadding="0">

Jeg har ændret <%=Rs("MessageID")%> til <%=Rs("ID")%>, da MessageID i virkeligheden hedder ID i db'en. (Ham der originalt kodede forummet har åbenbart valgt MessageID som alias for ID)

Linjen:
<form method="POST" action="forumpost.asp?MessageID=<%=Request.Form("MessageID")%>">
Hvor skal <%=Request.Form("MessageID")%> komme fra? Inden man kommer ind på siden og skal skrive indlæg/tråd, så trykker man altså på et ganske alm. link som linker videre til skrive forms'ne.

Efter nærmer eftersyn kan jeg se at du har glemt at sætte update linjen ind. Det kan godt være at jeg glemte at nævne at den oprindelige kildekode ikke opdaterede data efter den havde postet :)
Avatar billede farving Nybegynder
11. juli 2006 - 18:48 #52
[Linjen:
<form method="POST" action="forumpost.asp?MessageID=<%=Request.Form("MessageID")%>">
Hvor skal <%=Request.Form("MessageID")%> komme fra? Inden man kommer ind på siden og skal skrive indlæg/tråd, så trykker man altså på et ganske alm. link som linker videre til skrive forms'ne.]
- ret det til:
Linjen:
<form method="POST" action="forumpost.asp?MessageID=<%=Rs("ID")%>">

hvilken update linie? der er rimelig mange indlæg til at jeg har overblik over dem alle...

Mvh Carsten
Avatar billede miwu.tk Nybegynder
11. juli 2006 - 19:13 #53
"hvilken update linie? der er rimelig mange indlæg til at jeg har overblik over dem alle..."

netop, der er ikke nogen :) Du kunne vel ikke hjælpe mig med at indsætte den? Noget a la
        strSQL = "UPDATE Entries SET date = NOW () WHERE id = '" & Request.querystring("Messageid") & "'"
        conn.execute(strSQL)

Jeg ved ikke helt om du forstår hvad jeg mener? Min evne til at formulere mig lige nu er ikke helt i top :s
Avatar billede miwu.tk Nybegynder
11. juli 2006 - 19:18 #54
Efter jeg har rettet linjen du fortalte mig om sker der intet. Jeg får stadig samme fejlmelding. Det er helt uforståeligt... jeg har tjekket databasen ekstra gange og alt muligt, men fejlen bliver stående. Poster lige hvordan min kildekode ser ud nu:

<%
strIP = request.servervariables("REMOTE_ADDR")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("forum.mdb")

Function DBFix(tempString)
    tempString = Replace(Trim(tempString), "'", "''")
    tempString = Replace(tempString, "|", "")
    DBFix = tempString
End Function

Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN
Posted = 0

    dim tempName, tempEmail, tempSubject, tempComment, tempForumId, tempMessageId
    tempName = DBFix(Trim(Request.Form("Name")))
    tempEmail = DBFix(Trim(Request.Form("Email")))
    tempSubject = DBFix(Trim(Request.Form("Subject")))
    tempComment = DBFix(Trim(Request.Form("Comment")))
    tempForumId = DBFix(Trim(Request.Form("ForumId")))
    tempMessageId = DBFix(Trim(Request.Form("MessageId")))


If (Len(tempSubject) = 0) AND (Len(tempComment) = 0) Then
    strSQL = "SELECT * FROM Forums WHERE ID = " & Request.Querystring("ForumID") & ""
    Set rs = myConn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then
        intForumID = rs("ID")
        strForum = rs("Forum")
    End If
Else
    strSQL = "INSERT INTO Entries"
    If Len(tempMessageId) = 0 Then
        strSQL = strSQL & " (Name, Email, Subject, Comment, ForumId, Orgthread, IP)"
        strSQL = strSQL & " VALUES('" & tempName & "', '" & tempEmail & "', '" & tempSubject & "', '" & tempComment & "', " & tempForumId & ", TRUE, " & strIP & ")"
    Else
        tempSQL = "SELECT Subject FROM Entries WHERE Id = " & Request.Querystring("MessageId") & ""
        Set tempRS = myConn.Execute(tempSQL)
        strSQL = strSQL & " (Name, Email, Comment, ForumId, ReplyId, Subject, IP)"
        strSQL = strSQL & " VALUES('" & tempName & "', '" & tempEmail & "', '" & tempComment & "', " & tempForumId & "," & tempMessageId & ",'" & tempSubject & "', " & strIP & ")"
        tempRS.Close
    End If
    myConn.Execute(strSQL)
    Posted = 1


End If
myConn.Close
%>

<html>
<head>
<title>Forum 53 [ Post en besked ]</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>

<body topmargin="2" leftmargin="0" marginwidth="0" marginheight="2">
<div align="center"><center>

<table border="0" width="600" cellspacing="1" cellpadding="0">
    <tr>
        <td><center><img src="topbanner.jpg"></img></center></td>
    </tr>
<tr>
    <td height="45" width="600" colspan="3" style="border: 1px solid;color: #E69B20;" bgcolor="#FFFFFF">
        <table topmargin="2" width="600" leftmargin="0" marginwidth="0" marginheight="0">
            <tr>
                <td>
                    <center>
                    <a href="../index.html" class="menu">index</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="../sites/portfolio.html" class="menu">portfolio</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="../sites/billeder.html" class="menu">billeder</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="default.asp" class="menu">forum</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="../gbog/default.html" class="menu">gæstebog</a>
                    </center>
                </td>
            </tr>
        </table>
    </td>
</tr>
    <td width="100%">
    <center>
<%
If (Len(tempSubject) = 0) AND (Len(tempComment) = 0) Then
%>
    <table>
  <tr>
    <td><strong><big>Forum:
<% If Posted = 0 Then Response.Write strForum%></big></strong></td>
  </tr>
  <tr>
    <td width="100%"><% If Posted = 0 Then %>
<p align="left"><font face="Verdana"><b><small><a href="default.asp">Til
    oversigt</a></small></b></font> <%End If%> </td>
  </tr>
  <tr>
    <tr>
    <td>
<form method="POST" action="forumpost.asp?MessageID=<%=Rs("id")%>">
      <input type="hidden" name="ForumID" value="<%=intForumID%>"><input type="hidden"
      name="MessageID" value="<%=Rs("id")%>"><table border="0" width="100%"
      cellspacing="1" cellpadding="0">
    </td>
    </td>
</tr> 
        <tr>
          <td align="left"><small>Navn:</small></td>
          <td align="left"><small><input type="text"
          name="name" size="20"></small></td>
        </tr>
<% if Request.Querystring("type") = 1 then
    Response.Write ""

    else %>

    <tr>
              <td align="left"><small>Titel:</small></td>
              <td align="left"><small><input type="text"
              name="Subject" size="30"></font></small></td>
          </tr>
<% End if %>
        <tr>
          <td valign="top" align="left"><small>Besked:</small></td>
          <td align="left"><textarea rows="15" name="Comment" cols="100"></textarea></td>
        </tr>
    <tr><td colspan="2">
      <p align="right"><input style="border: 1px solid; color:gray;" type="submit" value="Send" name="Action"></p>
    </form>
    </td></tr>
    </table> 
    </center>
    </td>
    </tr>
      </table>


<% Else
    response.redirect ("default.asp") 
  End If %>
  </tr>
</table>
</center></div>
</body>
</html>
Avatar billede farving Nybegynder
11. juli 2006 - 19:30 #55
hvor er den "update" del henne? men prøver lige at gå igennem koden en gang til, og ser hvilke ting jeg opsnuser... :)

Mvh Carsten
Avatar billede miwu.tk Nybegynder
11. juli 2006 - 19:34 #56
update delen jeg postede var noget du havde skrevet i en af de forgående indlæg. Prøv at kigge på nogle af de første indlæg. Men det er egentlig ikke særlig relevant... for det vigtigste er bare at den opdatere noget data lige efter den har gemt data i db'en. Kunne du hjælpe mig med det?
Avatar billede farving Nybegynder
11. juli 2006 - 19:40 #57
hmm forstår godt hvorfor den ikke vil gøre noget...

Rs("id") henter den jo fra databasen, men den del hvor SELECT * FROM ... er, er i en if...else sætning, som bliver løbet igennem når siden loades... eller siden submittes...

Mvh Carsten
Avatar billede farving Nybegynder
11. juli 2006 - 19:46 #58
[for det vigtigste er bare at den opdatere noget data lige efter den har gemt data i db'en. Kunne du hjælpe mig med det?]
- det er jo let nok, men sålænge den nuværende fejl fremkommer, så hjælper det andet jo ikke...

men ellers:
strSQLinsert = "INSERT INTO tabel (navn, navn, navn) VALUES (værdi, værdi, værdi)"
strSQLupdate = "UPDATE tabel SET navn = værdi WHERE navn = værdi"
conn.execute(strSQLinsert)
conn.execute(strSQLupdate)

så indsætter den og opdaterer...

Mvh Carsten
Avatar billede miwu.tk Nybegynder
12. juli 2006 - 18:06 #59
"Rs("id") henter den jo fra databasen, men den del hvor SELECT * FROM ... er, er i en if...else sætning, som bliver løbet igennem når siden loades... eller siden submittes..."

Du har ikke et bud på hvordan det kan rettes op? Jeg har selv prøvet at tænke mig lidt frem til det, men jeg kan ikke helt se enden af tunellen :)
Avatar billede farving Nybegynder
12. juli 2006 - 19:13 #60
Er ved at flytte rundt og ændre lidt på opbygningen af scriptet...

Når man kommer ind på den her side, hvilke querystrings er der så med

altså fx:

www.domain.dk/forum.asp?ForumId=1&MessageId=10&mode=

og så når du poster så bliver det til

www.domain.dk/forumpost.asp?ForumId=1&MessageID=10&mode=post

Hvis du forstår... altså, hvordan ser adresse linien ud, eller hvordan forventer du det skal se ud?

Mvh Carsten
Avatar billede farving Nybegynder
12. juli 2006 - 19:20 #61
Endvidere vil jeg også foreslå at du begynder at lære lidt CSS, da det vil give din kode et væsentligt ansigtsløft :) og koden vil også blive hurtigere at parse...

Mvh Carsten
Avatar billede miwu.tk Nybegynder
12. juli 2006 - 19:35 #62
Når der skal postes tråde:
http://www.domain.dk/forumpost.asp?ForumId=5

Når der skal postes indlæg i trådene
http://www.domain.dk/forumpost.asp?ForumId=5&MessageId=595&type=1

Og siden har iøvrigt brugt en del css, men jeg må blankt erkende at jeg netop med formsne ikke har brugt den store tid. Kreativiteten blomstre ikke når det kommer til det område :)

Jeg har dog et stylesheet som sørger for lidt variation hist og her :D
Avatar billede miwu.tk Nybegynder
12. juli 2006 - 19:36 #63
"Og siden har iøvrigt brugt en del css, men jeg må blankt erkende at jeg netop med formsne ikke har brugt den store tid. Kreativiteten blomstre ikke når det kommer til det område :)"

Forstår først hvad du mener nu... hehe, jeg bør overveje at læse tingene mere grundigt ;)
Avatar billede farving Nybegynder
12. juli 2006 - 20:04 #64
Men ang. skønheden af din kode, kan du lege med senere :)

og hvad er type = 1 ?

Mvh Carsten
Avatar billede miwu.tk Nybegynder
12. juli 2006 - 20:27 #65
Det er bare noget jeg har lavet til når man skriver indlæg i en tråd. Den sørger for at "emne" formen ikke kommer frem.

<% if Request.Querystring("type") = 1 then
    Response.Write ""

    else %>

    <tr>
              <td align="left"><small>Titel:</small></td>
              <td align="left"><small><input type="text"
              name="Subject" size="30"></font></small></td>
          </tr>
<% End if %>

Den har ingen reel betydning i forhold til at poste data.
Avatar billede farving Nybegynder
12. juli 2006 - 20:52 #66
ved jeg godt, men nu ændrer jeg jo 180 grader i koden :)

Men jeg roder fortsat videre, dog skriver jeg meget over til response.write da jeg har fået afvide at <% %> stresser serveren/browseren... ved ikke om dette er sandt, men det er stadig lige nemt at overskue

Mvh Carsten
Avatar billede miwu.tk Nybegynder
12. juli 2006 - 22:08 #67
Det lyder lækkert. Jeg påskønner virkelig den store hjælp :)
Avatar billede farving Nybegynder
12. juli 2006 - 23:33 #68
<%
strIP = request.servervariables("REMOTE_ADDR")
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("forum.mdb")
Set MyConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN
Posted = false

dim tempName, tempEmail, tempSubject, tempComment, tempForumId, tempMessageId

dim TempQueryForumID, TempQueryMessageID, TempQueryMode
TempQueryForumID = Request.Querystring("ForumID")
TempQueryMessageID = Request.Querystring("MessageID")
TempQueryMode = Request.Querystring("Mode")

Function DBFix(tempString)
    tempString = Replace(Trim(tempString), "'", "''")
    tempString = Replace(tempString, "|", "")
    DBFix = tempString
End Function

strSQL = "SELECT * FROM Forums WHERE ID = " & Request.Querystring("ForumID") & ""
Set Rs = myConn.Execute(strSQL)
    If Not (Rs.BOF OR Rs.EOF) Then
        intForumID = Rs("ForumID")
        strForum = Rs("Name")
        intMessageID = Rs("Id")
    End If
   
If TempQueryMode = "Post" Then

    tempName = DBFix(Trim(Request.Form("Name")))
    tempEmail = DBFix(Trim(Request.Form("Email")))
    tempSubject = DBFix(Trim(Request.Form("Subject")))
    tempComment = DBFix(Trim(Request.Form("Comment")))
    tempForumId = DBFix(Trim(Request.Form("ForumId")))
    tempMessageId = DBFix(Trim(Request.Form("MessageId")))
   
    If (Len(tempSubject) <> 0) AND (Len(tempComment) <> 0) Then
        strSQL = "INSERT INTO Entries"
        If Len(tempMessageId) = 0 Then
            strSQL = strSQL & " (Name, Email, Subject, Comment, ForumId, Orgthread, IP)"
            strSQL = strSQL & " VALUES('" & tempName & "', '" & tempEmail & "', '" & tempSubject & "', '" & tempComment & "', " & tempForumId & ", TRUE, " & strIP & ")"
        Else
            tempSQL = "SELECT Subject FROM Entries WHERE Id = " & Request.Querystring("MessageId") & ""
            Set tempRS = myConn.Execute(tempSQL)
            strSQL = strSQL & " (Name, Email, Comment, ForumId, ReplyId, Subject, IP)"
            strSQL = strSQL & " VALUES('" & tempName & "', '" & tempEmail & "', '" & tempComment & "', " & tempForumId & "," & tempMessageId & ",'" & tempSubject & "', " & strIP & ")"
            tempRS.Close
        End If
        myConn.Execute(strSQL)
        Posted = true
        strSQL = "UPDATE Entries SET date = NOW () WHERE id = '" & Request.querystring("Messageid") & "'"
        conn.execute(strSQL)
    End If
Else
%>

<html>
<head>
<title>Forum 53 [ Post en besked ]</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>

<body topmargin="2" leftmargin="0" marginwidth="0" marginheight="2">
<div align="center"><center>

<table border="0" width="600" cellspacing="1" cellpadding="0">
    <tr>
        <td><center><img src="topbanner.jpg"></img></center></td>
    </tr>
<tr>
    <td height="45" width="600" colspan="3" style="border: 1px solid;color: #E69B20;" bgcolor="#FFFFFF">
        <table topmargin="2" width="600" leftmargin="0" marginwidth="0" marginheight="0">
            <tr>
                <td>
                    <center>
                    <a href="../index.html" class="menu">index</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="../sites/portfolio.html" class="menu">portfolio</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="../sites/billeder.html" class="menu">billeder</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="default.asp" class="menu">forum</a>
                    </center>
                </td>
                <td>
                    <center>
                    <a href="../gbog/default.html" class="menu">gæstebog</a>
                    </center>
                </td>
            </tr>
        </table>
    </td>
</tr>
    <td width="100%">
    <center>
<%
If Posted = false Then
Response.Write "<table>"
Response.Write         "<tr><td>"
Response.Write             "<strong><big>Forum:" & strForum & "</big></strong>"
Response.Write         "</td></tr>"
Response.Write         "<tr><td width='100%'>"
Response.Write             "<font face='Verdana'><b><small>"
Response.Write             "<a href='default.asp'>Til oversigt</a>"
Response.Write             "</small></b></font>"
Response.Write         "</td></tr>"
Response.Write         "<tr><tr><td>"
    strFormForum = "<form method='POST' action='forumpost.asp?ForumID=" & intForumID & "&Mode=Post'>"
    strFormMessage = "<form method='POST' action='forumpost.asp?ForumID=" & intForumID & "&MessageID=" & intMessageID & "&Mode=Post'>"
    If TempQueryMessageID = "" then
Response.Write strFormForum
    Else
Response.Write strFormMessage
    End If
Response.Write "<input type='hidden' name='ForumID' value='" & intForumID & "'>"
    If TempQueryMessageID = "" then
Response.Write ""
    Else
Response.Write "<input type='hidden' name='MessageID' value='" & intMessageID & "'>"
    End If
Response.Write "<table border='0' width='100%' cellspacing='1' cellpadding='0'>"
Response.Write         "</td></tr></tr>"
Response.Write         "<tr><td align='left'>"
Response.Write             "<small>Navn:</small>"
Response.Write         "</td>"
Response.Write         "<td align='left'>"
Response.Write             "<small><input type='text' name='name' size='20'></small>"
Response.Write         "</tr>"
    If Request.Querystring("type") = 1 then
Response.Write ""
    Else
Response.Write         "<tr><td align='left'>"
Response.Write             "<small>Titel:</small>"
Response.Write         "<td align='left'>"
Response.Write             "<small><input type='text' name='Subject' size='30'></small>"
Response.Write         "</td></tr>"
    End If
Response.Write         "<tr><td valign='top' align='left'>"
Response.Write             "<small>Besked:</small>"
Response.Write         "</td>"
Response.Write         "<td align='left'>"
Response.Write             "<textarea rows='15' name='Comment' cols='100'></textarea>"
Response.Write         "</td></tr>"
Response.Write         "<tr><td colspan='2'>"
Response.Write             "<p align='right'><input style='border: 1px solid; color:gray;' type='submit' value='Send' name='Action'></p>"
Response.Write         "</td></tr>"
Response.Write     "</form>"
Response.Write         "</td></tr>"
Response.Write     "</table>"
Response.Write     "</center>"
Response.Write     "</td></tr>"
Response.Write     "</table>"
Else
    response.redirect ("default.asp") 
End If
%>
  </tr>
</table>
</center></div>
</body>
</html>

==========
Jeg lover langt fra det virker, men prøv det ad, og spørg evt hvis du vil vide hvorfor jeg har gjort som jeg har gjort samt hvis der er noget du ikke forstår...

Mvh Carsten
Avatar billede miwu.tk Nybegynder
13. juli 2006 - 21:06 #69
Den melder flg fejl:

Microsoft VBScript compilation  error '800a03f6'

Expected 'End'

/forum/forumpost.asp, line 165

Din if sætninger med Posted... vil det sige at den selv tjekker om man har submittet eller hvordan?
Avatar billede farving Nybegynder
13. juli 2006 - 23:18 #70
altså i starten af koden sætter vi posted = false for at indikere at vi ikke har submittet endnu...

derfor vil if sætningen blive true og den udskriver alt i response.write osv...

når vi så submitter bliver siden jo halvt reloaded og den starter forfra med at læse koden, den når så alt det med opdatering etc og så bliver posted = true, og den springer hen til else delen hvor reponse.redirect er :)

[Expected 'End']
- hader bare den fejl... :( men kigger lige på det

Mvh Carsten
Avatar billede miwu.tk Nybegynder
25. december 2008 - 12:28 #71
lukket
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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