Avatar billede Slettet bruger
27. oktober 2006 - 11:25 Der er 8 kommentarer og
1 løsning

Upload til database uden billede

Jeg har følgende upload script, men har fjernet "upload af billede formen" fra min form.asp så det kun er ren tekst m.v. der skal tilføjes til databasen og ingen upload af billede mere.

Men jeg kan ikke få det til at virke når jeg fjerner "billede upload formen", har prøvet at tilrette upload.asp filen, men det går helt galt. Jeg tror jeg retter de forkerte steder.
Er der nogen der kan fjerne "billede upload funktionen" fra scriptet upload.asp så det virker med kun "tekst tilføjelser til databasen" som der er i form.asp ??

Mvh.
Henrik
Avatar billede Slettet bruger
27. oktober 2006 - 11:25 #1
Her er koden:

FORM.ASP

<FORM METHOD="POST" ACTION="uploadkliplink.asp" ENCTYPE="multipart/form-data">

Vælg filmklip destination
<select name="visnyhed">
<option value="1">Forside nyheder</option>
<option value="2">Filmklip</option>
</select>

Vælg kategori:
<select name="kategori">
<option value="1">Film</option>
<option value="2">Billede</option>
<option value="streetracing">Streetracing</option>

</select>
Flash Link
<select name="flash">
<option value="1">Nej</option>
<option value="2">Ja</option>
</select>

Beskrivelse
<textarea name="beskrvelse"</textarea><br><br>
<INPUT TYPE="SUBMIT" VALUE="Upload">
</form>


Filmklip
<textarea name="target"</textarea><br><br>
<INPUT TYPE="SUBMIT" VALUE="Upload">
</form>


UPLOAD.ASP


<%
Server.ScriptTimeout = 220
Set Upload = Server.CreateObject("Persits.Upload.1")

Upload.OverwriteFiles = False
On Error Resume Next

Upload.SetMaxSize 900048576 ' Limit files to 1MB
Count = Upload.Save(Server.MapPath("/upload/data"))
%>
<HTML>
<BODY BGCOLOR="#FFFFFF">
<CENTER>

<% If Err <> 0 Then %>

<FONT SIZE=3 FACE="Arial" COLOR=#0020A0>
<H3>The following error occured while uploading:</h3>
</FONT>

<FONT SIZE=3 FACE="Arial" COLOR=#FF2020>
<h2>"<% = Err.Description %>"</h2>
</FONT>

<FONT SIZE=2 FACE="Arial" COLOR="#0020A0">
Please <A HREF="aspupload.asp">try again</A>.
</FONT>

<% Else %>
<FONT SIZE=3 FACE="Arial" COLOR=#0020A0>
<h2>Success! <% = Count %> file(s) have been uploaded.</h2>
</FONT>

<FONT SIZE=3 FACE="Arial" COLOR=#0020A0>
<TABLE BORDER=1 CELLPADDING=3 CELLSPACING=0>
<TH BGCOLOR="#FFFF00">Uploaded File</TH><TH BGCOLOR="#FFFF00">Size</TH><TH BGCOLOR="#FFFF00">Original Size</TH><TR>
<% For Each File in Upload.Files
filename = File.FileName %>
<TD><B><% = File.OriginalPath %></B></TD>
<TD ALIGN=RIGHT VALIGN="TOP"><% =File.Size %> bytes</TD>
<TD ALIGN=RIGHT VALIGN="TOP"><% =File.OriginalSize %> bytes</TD><TR>

<%
' Formaterer teksten

strbeskrivelse = Replace(Upload.Form("beskrivelse"),"'","´")
strbeskrivelse = Replace(strbeskrivelse,vbCrLf,"<br />")

' Tilfojer til databasen
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("/datadb/database.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM seneste "
rs.Open Addera, Connect, 3, 3

rs.addnew
rs("filnavn") = File.FileName
rs("beskrivelse") = strbeskrivelse
rs("visnyhed") = Upload.form("visnyhed")
rs("flash") = Upload.form("flash")
rs("target") = strTarget
rs("kategori") = Upload.form("kategori")



response.write("Filen er nu tilføjet til databasen")

Next

End if
%>

</TABLE>
</FONT>
<P>
<FONT SIZE=2 FACE="Arial" COLOR=#0020A0>

<META HTTP-EQUIV=Refresh CONTENT="1; URL=http://www.hyggestedet.dk/upload.aspx?navn=<%=rs("filnavn")%>">

<%
rs.update
rs.close
%>
</FONT>

</CENTER>
</BODY>
</HTML>
Avatar billede Slettet bruger
27. oktober 2006 - 11:26 #2
Linjen "<META HTTP" osv. skal ikke bruges mere så bare glem den.. Det var nogen jeg brugte fra billedefunktionen..
Avatar billede hiks Nybegynder
27. oktober 2006 - 11:48 #3
til at starte med synes jeg du skal fjerne ENCTYPE="multipart/form-data"> fra FORM.ASP.

Efterfølgende kan du fjerne alt der har med dit upload komponent at gøre (upload) og så i stedet bare bruge Request.Form("beskrivelse") osv. Så du laver almindelige request på din form istedet for at bruge komponentet til det.

/hiks
Avatar billede hiks Nybegynder
27. oktober 2006 - 11:55 #4
så vil din upload.asp komme til at se nogenlunde sådan ud:

UPLOAD.ASP


<%

On Error Resume Next

%>
<HTML>
<BODY BGCOLOR="#FFFFFF">
<CENTER>

<%
' Formaterer teksten

strbeskrivelse = Replace(Request.Form("beskrvelse"),"'","´")
strbeskrivelse = Replace(strbeskrivelse,vbCrLf,"<br />")

strtarget = Replace(Request.Form("target"),"'","´")
strtarget = Replace(strtarget,vbCrLf,"<br />")

' Tilfojer til databasen
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("/datadb/database.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM seneste "
rs.Open Addera, Connect, 3, 3

rs.addnew
rs("beskrivelse") = strbeskrivelse
rs("visnyhed") = Request.form("visnyhed")
rs("flash") = Request.form("flash")
rs("target") = strTarget
rs("kategori") = Request.form("kategori")


response.write("Filen er nu tilføjet til databasen")

Next

End if
%>

</TABLE>
</FONT>
<P>
<FONT SIZE=2 FACE="Arial" COLOR=#0020A0>

<META HTTP-EQUIV=Refresh CONTENT="1; URL=http://www.hyggestedet.dk/Request.aspx?%>">

<%
rs.update
rs.close

'afslut connection
set rs = nothing
set conn = nothing

%>
</FONT>

</CENTER>
</BODY>
</HTML>

/hiks
Avatar billede Slettet bruger
27. oktober 2006 - 12:24 #5
Så virker det bare!!! Mange tak! :-)

Så det var den multipart/formdata fætter der gjorde det...
Altså det bevirker man bruger upload komponent eller hvad siger du?
Prøver jo på at lære lidt af det samtidig. :-)
Avatar billede hiks Nybegynder
27. oktober 2006 - 12:49 #6
multipart på formen gør egentlig bare at man kan sende form informationen således filer etc. kan uploades til webserveren i et format der kaldes multipart. Dette format kan man bare ikke sådan uden videre læse direkte fra hvis vi snakker om tekster, input boxe etc.

upload komponentet gør det så muligt for os at vi kan få tekst ud af det man mener er tekst i formen. Altså en form for omformattering af multipart til tekst.

Hvis man ikke bruger multipart afsender vi form informationen modtager serveren i tekstformat som man ikke behøver upload komponentet til "formatere om på".

/hiks
Avatar billede hiks Nybegynder
27. oktober 2006 - 13:17 #7
ang. læring så lige et tip mere.

ta altid at lukke din database forbindelse ned altså i ovenstående tilfælde din conn.

Flere udviklere vil bruge en funktion til at sørge for at man får lukket sine ting ordentligt ned så man har en funktion til recordsettet, en til forbindelse og en til begge dele på samme tid. Noget i stil med:

Sub CleanUpRs(rs)

  rs.close
  set rs = nothing

End Sub

Sub CleanUpConn(conn)

  conn.close
  set conn = Nothing

End Sub

Sub CleanUp(rs, conn)

  rs.close
  set rs = nothing

  conn.close
  set conn = nothing

End Sub

de kan så kaldes vha.

Call CleanUpRs(ditRs)

Du kan så placere dem i en asp fil for sig selv og lave includes på denne til alle dine sider. Så kan du nøjes med at have alle dine fælles funktioner et sted.

/hiks
Avatar billede hiks Nybegynder
28. oktober 2006 - 13:06 #8
skal vi lukke her?

go weekend!

/hiks
Avatar billede Slettet bruger
28. oktober 2006 - 17:50 #9
Det skal bruges til min hjemmeside www.hyggestedet.dk hvis du skulle være interesseret i at vide hvad du hjælper til. :-)
Men det var rigtig god information.... Tak for det... :-)
Og også god weekend til dig og igen mange tak for hjælpen....
Mvh.
Henrik
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