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> </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ø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> </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>
Annonceindlæg fra Bluecircle
varHiddenValue = Request.Form("CogT")
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
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
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"
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"))) & "' );"
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.
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"
Hvis du skal hvade CogT med fra hidden feltet skal du skriver Request.Form("CogT")
Hvor skal det sættes ind.
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
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"))
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>"
28. juni 2003 - 00:28
#13
Nu virker det. Mange tak :-)
Kurser inden for grundlæggende programmering