Avatar billede moejensen Nybegynder
17. august 2003 - 11:04 Der er 14 kommentarer og
1 løsning

Problem med request.form

Jeg har følgende html kode:

<%Set rs = Conn.execute("SELECT * FROM Info_Meetings WHERE id ="& request("MId") &";")%>
    <table class="text" width="518" align="center" border="1" class="text">
    <form method="POST" action="main.asp?mode=saveEditMeeting" enctype="multipart/form-data" name="test">
    <input type="hidden" name="id" value="<%=rs("id")%>">
    <tr>
        <td width="316">
            Region:
              <select size="1" name="region">
              <option <%if rs("region") = "sjaelland" then response.write("selected")%> value="sjaelland">Sjælland</option>
              <option <%if rs("region") = "jylland" then response.write("selected")%> value="jylland">Jylland og Fyn</option>
              </select>
            <b><br>
            Destination: </b><input type="text" name="dest" size="20" value="<%=rs("Destination")%>"><br>
            <b>Text DK</b><br>
            <textarea rows="4" name="textDK" cols="36"><%=rs("TextDK")%></textarea><br>
            <b>Text EN:</b><br>
            <textarea rows="4" name="textEN" cols="36"><%=rs("TextEN")%></textarea>
        </td>
            <td width="188">
            <img src="../../billeder/<%=rs("picture")%>" width="130"><br>
            <b>Upload nyt billede</b><br>
            <input type="file" name="file" size="20">
        </td>
    </tr>
    <tr>
        <td vAlign="top" width="316">
        </td>
        <td width="188">
            <b>Sted, Tid og varighed</b>
            <p><b>DK:</b><textarea rows="4" name="NoteDK" cols="19"><%=rs("NoteDK")%></textarea></p>
            <p><b>EN:</b><textarea rows="4" name="NoteEN" cols="19"><%=rs("NoteEN")%></textarea></p>
        </td>
    </tr>
    <tr>
        <td vAlign="top" align="right" width="316">
            <input type="submit" value="Gem" name="B1"><input type="reset" value="Slet" name="B2">
        </td>
        <td width="188"></td>
    </tr>
    </form>
    </table>

jeg gemmer indholdet ved hjælp af  følgende kode, der er includet i toppen af min fil:

if strMode = "saveEditMeeting" AND bolWasPosted Then
    If Request.Form("picture") > "" Then
        Set Upload = Server.CreateObject("Persits.Upload.1")
        Upload.OverwriteFiles = False
        Set Rs = conn.Execute("SELECT picture FROM Info_meetings WHERE Id ="& Upload.Form("id") &";")
        Set fso = Server.CreateObject("Scripting.FileSystemObject")
        fso.DeleteFile Server.MapPath("../../billeder/"& rs("picture")), True
        Set fso = Nothing
        Upload.SaveToMemory
        Set file = Upload.Files(1)
        filename = StrGenerator() &"_"& file.FileName
        file.SaveAs (Server.mapPath("../../billeder/" & filename))
        strSQL = "UPDATE DISTINCTROW Info_Meetings SET Destination = '" & Upload.form("dest") & "', Region = '" & Upload.form("region") & "',TextDK = '" & Upload.form("TextDK") & "',Picture = '" & Upload.form("picture") & "',NoteDK = '" & Upload.form("NoteDK") & "',TextEN = '" & Upload.form("TextEN") & "',NoteEN = '" & Upload.form("NoteEN") & "' WHERE Id = " & Upload.form("id")
        conn.Execute(strSQL)
    else
        strSQL = "UPDATE DISTINCTROW Info_Meetings SET Destination = '" & Request.form("dest") & "', Region = '" & Request.form("region") & "', TextDK = '" & Request.form("TextDK") & "', NoteDK = '" & Request.form("NoteDK") & "', TextEN = '" & Request.form("TextEN") & "', NoteEN = '" & Request.form("NoteEN") & "' WHERE Id ="& Request.Form("id") &";"
        conn.Execute(strSQL)
    end if
    Set upload = nothing
    Set file = nothing
    response.redirect("main.asp?mode=informationmeetings")
End if

Problemet er at jeg ikke får overfør noget i mine request.form
Avatar billede socle Nybegynder
17. august 2003 - 11:07 #1
har du prøvet : request.form.item("navn")?
Avatar billede hossein Nybegynder
17. august 2003 - 11:11 #2
hvor henter du Mid i din SQL sætning: id ="& request("MId") &";")
Avatar billede erikjacobsen Ekspert
17. august 2003 - 11:12 #3
Du skal bruge Upload.form(....)
Avatar billede mm12010 Nybegynder
17. august 2003 - 11:13 #4
Upload.form("id")
Avatar billede moejensen Nybegynder
17. august 2003 - 11:17 #5
Ja, jeg skal vel kun bruge upload.form, der hvor jeg også anvender upload komponentet, altså der hvor der vælges et nyt billede
Avatar billede moejensen Nybegynder
17. august 2003 - 11:20 #6
--> hossein, jeg putter den ind i en hidden inputbox der hedder id, og overføre den der igennem med request.form("id")
Avatar billede eagleeye Praktikant
17. august 2003 - 11:25 #7
Du er nød til at bruge Upload.Form selvom du ikke har valgt noget billede.:

Så det skal skrives lidt om til dette:


    Set Upload = Server.CreateObject("Persits.Upload.1")
    Upload.OverwriteFiles = False
    Upload.SaveToMemory

    if Upload.Form("picture") > "" then
      Set Rs = conn.Execute("SELECT picture FROM Info_meetings WHERE Id ="& Upload.Form("id") &";")
      Set fso = Server.CreateObject("Scripting.FileSystemObject")
      fso.DeleteFile Server.MapPath("../../billeder/"& rs("picture")), True
      Set fso = Nothing
      Set file = Upload.Files(1)
      filename = StrGenerator() &"_"& file.FileName
      file.SaveAs (Server.mapPath("../../billeder/" & filename))
    end if
    strSQL = "UPDATE DISTINCTROW Info_Meetings SET Destination = '" & Upload.form("dest") & "', Region = '" & Upload.form("region") & "',TextDK = '" & Upload.form("TextDK") & "', NoteDK = '" & Upload.form("NoteDK") & "',TextEN = '" & Upload.form("TextEN") & "',NoteEN = '" & Upload.form("NoteEN") & "' "
    'medtag billedet hvis det er valgt
    if Upload.Form("picture") > "" then
      strSQL = strSQL & ", Picture = '" & Upload.form("picture") & "' "
    end if
    strSQL = strSQL & " WHERE Id = " & Upload.form("id")
    conn.Execute(strSQL)
    Set upload = nothing
    Set file = nothing
    response.redirect("main.asp?mode=informationmeetings")
Avatar billede moejensen Nybegynder
17. august 2003 - 11:38 #8
så virker det jo ....næsten, den får ikke gemt billedet, hvis der er valgt et nyt
Avatar billede moejensen Nybegynder
17. august 2003 - 11:40 #9
det er som om dette ikke helt virker:

if Upload.Form("picture") > "" then

den bliver ved med at tro at den er tom
Avatar billede eagleeye Praktikant
17. august 2003 - 11:40 #10
Ikke gemt: i databaen eller på serveren?
Avatar billede erikjacobsen Ekspert
17. august 2003 - 11:41 #11
Jeg husker det ikke, men kunne der være en parameter til Persits.Upload der
siger at den må eller ikke må overskrive billeder der allerede er der?
Avatar billede moejensen Nybegynder
17. august 2003 - 11:43 #12
der er en sådan parameter, men når jeg gemmer billedet, så sætter jeg en kode på billedet, så der ikke bliver to der hedder det samme
Avatar billede eagleeye Praktikant
17. august 2003 - 11:43 #13
Prøv at sætte count på Savetomemory og

Count = Upload.SaveToMemory


og lave denne:
if Upload.Form("picture") > "" then

om til dette i de top if sætninger:

if Count >=1 then
Avatar billede eagleeye Praktikant
17. august 2003 - 11:46 #14
top = to
Avatar billede moejensen Nybegynder
17. august 2003 - 11:49 #15
så virker det , jeg skulle også lige have rettet følgende linje

strSQL = strSQL & ", Picture = '" & Upload.form("picture") & "' "

til

strSQL = strSQL & ", Picture = '" & filename & "' "
tak for hjælpen
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