Avatar billede jpj3 Nybegynder
27. juni 2003 - 23:27 Der er 12 kommentarer og
1 løsning

Overføre value fra Hidden field til database

Hej jeg har et spørge forum hvor jeg gerne vil have overført indholdet fra et hidden field.

Linien jeg har lagt ind er denne:
<input type="hidden" name="CogT" value= "Lund">

Selve koden ser således ud. Jeg er ikke klar over hvor/hvad jeg skal ændre for at få indholdet overført itl DB.
Koden er som følger.

<!--#include file="functions.inc"-->

<%
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)"
        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);"
    Else
        tempSQL = "SELECT Subject FROM Entries WHERE (Id = " & Request("MessageId") & ")"
        Set tempRS = myConn.Execute(tempSQL)
        strSQL = strSQL & " (Name, Email, Comment, ForumId, ReplyId, Subject, CogT)"
        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"))) & "','" & DBFix(Trim(tempRS("CogT"))) & "' );"
        tempRS.Close
    End If
    myConn.Execute(strSQL)
    Posted = 1
End If
myConn.Close
%>
<html>
<head>
<title>Charlotte og Tina Lund.</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JScript">
</script>
<style type="text/css">
    BODY { font-family:"Verdana, Arial, Helvetica, sans-serif"; font-size:70%;}

    DIV#divMenuBar { background-color:#CCCC33; }
    TABLE#tblMenuBar TD { font-size:60%; color:#CCCC33; padding:0px 5px 0px 5px; cursor:default; }
    TABLE#tblMenuBar TD.clsMenuBarItem { font-weight:bold; cursor:default; }

    /* These two style rules added for links in MenuBar */
    TABLE#tblMenuBar TD.clsMenuBarItem A { text-decoration:none; color:#000000; font-weight:bold; }
    TABLE#tblMenuBar TD.clsMenuBarItem A:hover { color:#FFFFFF; }
    DIV.clsMenu {
        font-size:90%; background-color:#CCCC33;
        position:absolute; visibility:hidden; width:130px;
        padding:5px 5px 5px 8px; border-top:1 white solid;
    }
    DIV.clsMenu A { text-decoration:none; color:#000000; font-weight:bold; }
    DIV.clsMenu A:hover { color:#FFFFFF; }
</style>
</head>
<body>
<div align="center">. </div>
<p>&nbsp;</p>
<div align="center">
  <center>
    <table border="0" width="600" cellspacing="1" cellpadding="0" bgcolor="#FFFFFF">
      <tr>
        <td width="100%" bgcolor="#FFFFFF"><strong><font face="Verdana" color="#CCCC33"><small>Forum:
          <% If Posted = 0 Then Response.Write strForum%>
          </small></font></strong></td>
      </tr>
      <tr>
        <td width="100%"><h1>
            <% If Posted = 0 Then %>
            TEST </h1>
          <p align="left"><font face="Verdana"><b><small><a href="default.asp">Til
            oversigt</a></small></b></font>
            <%End If%>
        </td>
      </tr>
      <tr>
        <td width="100%"><%
If Len(Trim(Request.Form("Subject"))) = 0 AND Len(Trim(Request.Form("Comment"))) = 0 Then
%>
          Sp&oslash;rg her
          <form method="POST" action="forumpost.asp">
            <input type="hidden" name="ForumID" value="<%=intForumID%>">
            <input type="hidden" name="MessageID" value="<%=Trim(Request("MessageID"))%>">
            <input type="hidden" name="CogT" value= "Lund">
            <table border="0" width="100%"
      cellspacing="1" cellpadding="0">
              <tr bgcolor="#FFFFFF">
                <td align="left"><small><font face="Verdana">Navn:</font></small></td>
                <td align="left"><font face="Verdana"><small>
                  <input type="text"
          name="name" size="20">
                  </small></font></td>
              </tr>
              <tr bgcolor="#FFFFFF">
                <td align="left"><small><font face="Verdana">E-mail:</font></small></td>
                <td align="left"><small><font face="Verdana">
                  <input type="text"
          name="email" size="20">
                  </font></small></td>
              </tr>
              <tr bgcolor="#FFFFFF">
                <td align="left"><small><font face="Verdana">Emne:</font></small></td>
                <td align="left"><small><font face="Verdana">
                  <input type="text"
          name="Subject" size="30">
                  </font></small></td>
              </tr>
              <tr bgcolor="#FFFFFF">
                <td valign="top" align="left"><font face="Verdana"><small>Besked:</small></font></td>
                <td align="left"><textarea rows="8" name="Comment" cols="50"></textarea></td>
              </tr>
            </table>
            <p>
              <input type="submit" value="Send" name="Action">
            </p>
          </form>
          <% Else %> <p align="center"><font face="Verdana"><small>&nbsp;</p></small></font>
          <p align="center"><font face="Verdana"><small>Dit indlæg er nu optaget
            i forumet</small></font></p>
          <p align="center"><font face="Verdana"><a href="default.asp"><small>Til
            oversigt</small></a></p></font>
          <p>
            <%  End If %>
        </td>
      </tr>
    </table>
  </center>
</div>
</body>
</html>
Avatar billede slash Nybegynder
27. juni 2003 - 23:33 #1
varHiddenValue = Request.Form("CogT")
Avatar billede eagleeye Praktikant
27. juni 2003 - 23:34 #2
Du skal havde lagt dit hidden felt ind på <form>'en for det kommer med, som du så ahr gjort :)

Så kan du hendte det med: Request.Form("CogT")



Det skal ind DB en så det i dette styk kode:


    If Len(Trim(Request.Form("MessageId"))) = 0 Then
        strSQL = strSQL & " (Name, Email, Subject, Comment, ForumId, Orgthread)"
        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);"
    Else
        tempSQL = "SELECT Subject FROM Entries WHERE (Id = " & Request("MessageId") & ")"
        Set tempRS = myConn.Execute(tempSQL)
        strSQL = strSQL & " (Name, Email, Comment, ForumId, ReplyId, Subject, CogT)"
        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"))) & "','" & DBFix(Trim(tempRS("CogT"))) & "' );"
        tempRS.Close
    End If



Prøv at rette det til dette sådan her feltet er kommet med, her antager jeg ahr din kolonne hedder CogT:


    If Len(Trim(Request.Form("MessageId"))) = 0 Then
        strSQL = strSQL & " (Name, Email, Subject, Comment, ForumId, Orgthread, CogT)"
        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, '" & DBFix(Trim(Request("CogT"))) & "');"
    Else
        tempSQL = "SELECT Subject FROM Entries WHERE (Id = " & Request("MessageId") & ")"
        Set tempRS = myConn.Execute(tempSQL)
        strSQL = strSQL & " (Name, Email, Comment, ForumId, ReplyId, Subject, CogT)"
        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"))) & "','" & DBFix(Trim(tempRS("CogT"))) & "' );"
        tempRS.Close
    End If
Avatar billede jpj3 Nybegynder
27. juni 2003 - 23:47 #3
Nu kommer det hidden field med over i DB når jeg oprettet et nyt spørgsmål.
Hvis jeg svarer på et allerede oprettet spørgsmål kommer den med følgende fejl.

HTTP 500 - Intern serverfejl
Internet Explorer

Forum kan ses her :
http://www.ct-lund.dk/test/forum/default.asp
Avatar billede eagleeye Praktikant
27. juni 2003 - 23:52 #4
Prøv at slå denne fra i IE, så skulle du gerne få en bedre fejl kode/beskrivelse:

funktioner -> internetindstillinger -> avanceret -> fjern kryds i "vis meddelelse om uskadelige http-fejl"
Avatar billede jpj3 Nybegynder
27. juni 2003 - 23:57 #5
Det var bedre jeg kunne ikke finde hvor det var man slog den fra. Takker.

Nu er fejlen en anden.

****

ADODB.Recordset error '800a0cc1'

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

/test/forum/forumpost.asp, line 24

*****

Som siger.
        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"))) & "','" & DBFix(Trim(tempRS("CogT"))) & "' );"
Avatar billede eagleeye Praktikant
28. juni 2003 - 00:00 #6
Den fejl betyder man prøver at udskrive fra en kolonne som ikke findes i recordset'et.

Hvis man i en SQL skriver: "SELECT id FROM xxxx" 
og udskriver eller bruger en kolonne fra et recordset som ikke står mellem SELECT og FROM eksvis tempRS("CogT") så kommer den fejl.
Avatar billede jpj3 Nybegynder
28. juni 2003 - 00:08 #7
Jeg har fjernet denne CogT og denne ,'" & DBFix(Trim(tempRS("CogT"))) & "'  fra linie 18 og 24 så virker det.
Men så får jeg ikke det hidden field med over til DB, og det er mere vigtigt her end ved opret nyt spørgsmål.
Det skal bruges til at vise at det er de rigtige personer der svarer og ikke en "Look a like"
Avatar billede eagleeye Praktikant
28. juni 2003 - 00:09 #8
Hvis du skal hvade CogT med fra hidden feltet skal du skriver

Request.Form("CogT")
Avatar billede jpj3 Nybegynder
28. juni 2003 - 00:12 #9
Hvor skal det sættes ind.
Avatar billede eagleeye Praktikant
28. juni 2003 - 00:17 #10
Istedet for tempRS("CogT"), prøv med dettte:



    If Len(Trim(Request.Form("MessageId"))) = 0 Then
        strSQL = strSQL & " (Name, Email, Subject, Comment, ForumId, Orgthread, CogT)"
        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, '" & DBFix(Trim(Request("CogT"))) & "');"
    Else
        tempSQL = "SELECT Subject FROM Entries WHERE (Id = " & Request("MessageId") & ")"
        Set tempRS = myConn.Execute(tempSQL)
        strSQL = strSQL & " (Name, Email, Comment, ForumId, ReplyId, Subject, CogT)"
        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"))) & "','" & DBFix(Trim(Request("CogT"))) & "' );"
        tempRS.Close
    End If
Avatar billede jpj3 Nybegynder
28. juni 2003 - 00:22 #11
Jeg har sat det sidst i dette.

    If Len(Trim(Request.Form("MessageId"))) = 0 Then
        strSQL = strSQL & " (Name, Email, Subject, Comment, ForumId, Orgthread, CogT)"
        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, '" & DBFix(Trim(Request("CogT"))) & "');"
    Else
        tempSQL = "SELECT Subject FROM Entries WHERE (Id = " & Request("MessageId") & ")"
        Set tempRS = myConn.Execute(tempSQL)
        strSQL = strSQL & " (Name, Email, Comment, ForumId, ReplyId, Subject, CogT)"
        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"))) & "','" & DBFix(Trim(Request.Form("CogT"))) & "' );"
        tempRS.Close
    End If

Nu får jeg det med over.

Hvordan får jeg puttet den med i denne linie.???

        strSvar = strSvar & "<li><font face=Verdana size=1><strong><a href=""viewmsg.asp?Id=" & intMessageID & "&ForumID=" & intForumID & "&Showsub=" & rs("ID") & """>Re: " & strSubject & "</a> <em>(" & Server.HTMLEncode(rs("Name")) & ", " & rs("FormDate") & " " & rs("FormTime") & ")</em></strong></font></li>"

Det skal stå efter dette

Server.HTMLEncode(rs("Name"))
Avatar billede eagleeye Praktikant
28. juni 2003 - 00:25 #12
Prøv med:


strSvar = strSvar & "<li><font face=Verdana size=1><strong><a href=""viewmsg.asp?Id=" & intMessageID & "&ForumID=" & intForumID & "&Showsub=" & rs("ID") & """>Re: " & strSubject & "</a> <em>(" & Server.HTMLEncode(rs("Name")) & ", " & rs("CogT") & ", " & rs("FormDate") & " " & rs("FormTime") & ")</em></strong></font></li>"
Avatar billede jpj3 Nybegynder
28. juni 2003 - 00:28 #13
Nu virker det. Mange tak :-)
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