14. august 2003 - 21:53Der er
11 kommentarer og 1 løsning
Request.Form.Count
Jeg har denne kode :
<% if request("type") <> " " then Response.write "<form name='form2' action='" & request.serverVariables("SCRIPT_NAME") & "' method='post'>"
if (request("type") <> "" AND request("type") <> "Vælg varenr") then
strSQL2 = "SELECT * FROM " & Request("type") & " " Set database2 = con.Execute(strSQL2) 'her tæller vi hvor mange felter der er udtrukket i recordsettet iFieldCount = database2.Fields.Count - 1
if not database2.eof then response.write"</form></tr><tr><td colspan='3'><center><br>Indtast vare oplysninger<br></td>" ' her gennemløber vi de felter der er udtrukket for i = 0 to iFieldCount str = Replace(database2(i).name, "aa", "å") str = Replace(str, "oe", "ø") str = Replace(str, "ae", "æ") str = Replace(str, "Aa", "Å") str = Replace(str, "Ae", "Æ") str = Replace(str, "Oe", "Ø")
if (database2(i).name = ("Fabrikat") OR database2(i).name = ("Specifikationer") OR database2(i).name = ("Disabled") OR database2(i).name = ("Tilbud") ) then if database2(i).name = ("Fabrikat") then Response.write "<tr><td><div align='right'>" & str & " : </td><td><select name='fabrikat' size='1'>" Response.write "<option>Vælg Fabrikat</option>" strSQL = "SELECT * FROM fabrikat" set database3 = con.execute(strSQL) while not database3.eof response.write "<option value='" & database3("Fabrikatnavn") & "'>" & database3("Fabrikatnavn") & "</option>" database3.movenext wend Response.write "</select></tr>" end if if database2(i).name = ("Specifikationer") then Response.write "<tr><td><div align='right'>" & str & " : </td><td><input type='checkbox' checked name='" & database2(i).name & "' value=''></tr>" end if if database2(i).name = ("Disabled") then Response.write "<tr><td><div align='right'>" & str & " : </td><td><input type='checkbox' name='" & database2(i).name & "' value=''></tr>" end if else Response.write "<tr><td><div align='right'>" & str & " : </td><td><INPUT NAME=" & database2(i).name & " TYPE='text' VALUE=''></tr>" end if next end if response.write "<td></td></tr>" response.write "<tr><td colspan='3'><div align='right'><form name='action' action='vareopret.asp?mode=OK&typevalgt=" & request("typevalgt") & "&varenr=" & request("varenr") & "' METHOD='POST'>" response.write "<INPUT TYPE='submit' NAME='Action' VALUE='Opret vare'>" response.write "</td></form>" end if end if %>
Herefter skal den tælle hvor mange felter der er trukket ud af databasen og finde det der er indtastet i felterne, men endnu kan den ikke engang finde ud af hvor mange felter der er med denne stykke kode :
if request.querystring("mode") = "OK" then Response.write "Mode : " & request.querystring("mode") Response.write "Antal = " & Request.action.Count-1
For n = 1 To Request.Form.Count-1 Session(Request.Form.Key(n)) = request.form(Request.Form.Key(n)) response.write "Session udskrevet i rækkefølge " & Session(cParam(Request.Form.Item(n))) & "<br>" & cParam(Session(n)) & "<br>" & request.form("Varenr") & "<br>" next
I den øverste del, sende den 3 variabler med ned mode=ok, varnr og typevalgt, men når den kommer ned til det nederste, kan jeg med response.write kun få oplyst at mode=ok, resten har ingen værdi, hvilket er et fejl, da de øvrige jo er indtastet i formen i den øverste kode. Det største problem her er så, at dette : Request.Form.Count-1 = 0 hvorfor det, da formen læser det fra en database med 13 felter i, den udskriver dem fint i det ovenstående, men kan ikke læse variablerne som er blevet indtastet, når man kommer ned i den nederste kode hvorfor?
kan du ikke sende db + asp siden og den side du sender fra til mig, så kan jeg kigge på det, det er lidt nemmere at overskue hvis man sidder med det...
<!--#include file="../ssi/database.asp"--> <!--#include file="ssi/trans.asp"--> <html> <% Function cParam(ByVal Param) cParam = Param If IsNumeric(Param) = False Then cParam = "'" & Param & "'" End If End Function
For n = 1 To Request.Form.Count - 1 Session(Request.Form.Key(n)) = request.form(Request.Form.Key(n)) response.write "Session udskrevet i rækkefølge " & Session(cParam(Request.Form.Item(n))) & "<br>" & cParam(Session(n)) & "<br>" & request.form("Varenr") & "<br>" next
if request.querystring("mode") = "OK" then response.write "Type : " & request.form("typenavn") ' Kontrol og gem af data if Session("Fabrikat") <> "Vælg fabrikat" then if Session("Varenr") <> " " then if Session("Pris") <> " " then strSQL2 = "SELECT * FROM " & Session("varetingen") & " WHERE '" & Session.form("Varenr") & "'=Varenr" Set database9 = con.Execute(strSQL2) if (database9.Fields.Count -1) = 0 then response.write "Varenr. eksistere allerede - Beklager" else
dim item For item = 0 to request.form.count-1 Response.write item & ". item = " & Request.Form(item) next Response.write "Antal = " & item & "<br><br><br><br><br><br>"
For n = 1 To Request.Form.Count - 1 If strKolonne = "" Then strKolonne = Request.Form.Key(n) response.write "1. værdi = " & strKolonne & "<br>" Else strKolonne = strKolonne & ", " & Request.Form.Key(n) response.write n & ". værdi = " & strKolonne & "<br>" End If
If strKolonneVaerdi = "" Then strKolonneVaerdi = cParam(nChar(Request.Form.Item(n))) Else strKolonneVaerdi = strKolonneVaerdi & ", " & cParam(Request.Form.Item(n)) End If Response.Write Request.Form.Item(n) & "<br>" Next
SqlQ = "Insert Into " & request("typenavn") & "(" & strKolonne & ") Values(" & strKolonneVaerdi & ")" response.write SqlQ ' con.execute(SqlQ) Response.write "Du har nu gemt varen : " & request.form("Varenr") & " i databasen" end if else Response.write "Pris skal udfyldes" end if else Response.write "Fabrikat skal vælges, og varenr og pris skal udfyldes" end if else Response.write "Fabrikat skal vælges, og varenr og pris skal udfyldes" end if else %>
<% if request("varetingen") <> "" then if (request("varetingen") <> "" AND request("varetingen") <> "Vælg varenr") then
strSQL2 = "SELECT * FROM " & Request("varetingen") & " " Set database2 = con.Execute(strSQL2) 'her tæller vi hvor mange felter der er udtrukket i recordsettet iFieldCount = database2.Fields.Count - 1
' if not database2.eof then response.write"</form></tr><tr><td colspan='3'><center><br>Indtast vare oplysninger<br></td>" ' her gennemløber vi de felter der er udtrukket for i = 0 to iFieldCount str = Replace(database2(i).name, "aa", "å") str = Replace(str, "oe", "ø") str = Replace(str, "ae", "æ") str = Replace(str, "Aa", "Å") str = Replace(str, "Ae", "Æ") str = Replace(str, "Oe", "Ø")
if (database2(i).name = ("Fabrikat") OR database2(i).name = ("Specifikationer") OR database2(i).name = ("Tilbud") ) then if database2(i).name = ("Fabrikat") then Response.write "<tr><td><div align='right'>" & str & " : </td><td><select name='fabrikat' size='1'>" Response.write "<option>Vælg Fabrikat</option>" strSQL = "SELECT * FROM fabrikat" set database3 = con.execute(strSQL) while not database3.eof response.write "<option value='" & database3("Fabrikatnavn") & "'>" & database3("Fabrikatnavn") & "</option>" database3.movenext wend Response.write "</select></tr>" end if if database2(i).name = ("Specifikationer") then Response.write "<tr><td><div align='right'>" & str & " : </td><td><input type='checkbox' checked name='" & database2(i).name & "' value=''></tr>" end if else Response.write "<tr><td><div align='right'>" & str & " : </td><td><INPUT NAME=" & database2(i).name & " TYPE='text' VALUE=''></tr>" end if next ' end if response.write "<td></td></tr>" response.write "<tr><td colspan='3'><div align='right'>" response.write "<FORM ACTION='vareopret.asp?mode=ok&typenavn=" & request("varetingen") & "' METHOD='POST'><input type='submit' value='Opret vare'></td>" end if end if %> <% end if %> </tr> </body> </html>
Dette er hele filen og det er sig selv den kalder...
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.