Avatar billede jtc Nybegynder
31. august 2003 - 20:35 Der er 89 kommentarer og
1 løsning

Upload af billednavn til database + billed til mappe

Hej

Jeg er interesseret i at få lavet en form som kan uploade filnavnet til en post i en database mens selve filen ligges i en bestemt mappe.

Jeg har adgang til aspsmartupload

Håber nogen kan finde ud af det

Feltet hvor stien til billedet skal gemmes hedder billed og mappen hedder pic/nyheder


Min kode ser således ud

<%@LANGUAGE="VBSCRIPT"%>

<%
If Session("validering") <> "valid" Then Response.Redirect("nyheder.asp")

id = Request("id")
%>
<!--#include file="nyheder_forbindelse.asp"-->
<%
Set indlaeg = Server.CreateObject("ADODB.Recordset")
indlaeg.Open "SELECT * FROM nyhedsindlaeg WHERE id = " & id, database,2 ,2

If Request("Submit") <> "" Then

indlaeg("overskrift") = Request("overskrift")
indlaeg("dato") = Request("dato")
indlaeg("forfatter") = Request("forfatter")
indlaeg("indlaeg") = Request("indhold")
If Request("link") = "" Then
indlaeg("link") = NULL
Else
indlaeg("link") = Request("link")
End If

indlaeg.Update

Response.Redirect("nyheder.asp")

Else

overskrift = indlaeg("overskrift")
dato = formatmindato(indlaeg("dato"))
forfatter = indlaeg("forfatter")
indhold = indlaeg("indlaeg")
link = indlaeg("link")

End If
%>

<%
Function FormatMinDato(Datoen)
    Dim strYYYY
    Dim strMM
    Dim strDD

        strYYYY = CStr(DatePart("yyyy", Datoen))

        strMM = CStr(DatePart("m", Datoen))
        If Len(strMM) = 1 Then strMM = "0" & strMM

        strDD = CStr(DatePart("d", Datoen))
        If Len(strDD) = 1 Then strDD = "0" & strDD

        FormatMinDato = strDD & "-" &  strMM & "-" & strYYYY

End Function
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>¨

      <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td><form action="opdater.asp" method="post" name="form1">
              <table width="750" border="0" align="center">
                <tr valign="top">
                  <td height="31" colspan="2"><font size="3" face="Verdana, Arial, Helvetica, sans-serif"><strong>Opdater
                    nyhed<br>
                    </strong></font><img src="../pic/moerkeblaa.gif" width="575" height="2"></td>
                </tr>
                <tr>
                  <td width="70" valign="top"> <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Overskrift:</font></div></td>
                  <td width="670"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                    <input name="overskrift" type="text" class="noborder" value="<% = overskrift%>" size="41">
                    </font></td>
                </tr>
                <tr>
                  <td width="70" valign="top"> <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Forfatter:</font></div></td>
                  <td width="670"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                    <input name="forfatter" type="text" class="noborder" value="<% = forfatter%>" size="41">
                    </font> </td>
                </tr>
                <tr>
                  <td width="70" valign="top"> <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Dato:</font></div></td>
                  <td width="670"> <table width="500" border="0" cellspacing="0" cellpadding="0">
                      <tr>
                        <td width="289"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                          <input name="dato" type="text" class="noborder" value="<% = dato%>" size="41">
                          </font></td>
                        <td width="362"><div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                            (13-04-2003)</font></div></td>
                      </tr>
                    </table></td>
                </tr>
                <tr>
                  <td width="70" valign="top"> <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Indlæg:
                      </font></div></td>
                  <td width="670"> <div align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                      <textarea name="indhold" cols="60" rows="8" class="noborder"><% = indhold%></textarea>
                      </font> </div></td>
                </tr>
                <tr>
                  <td width="70" valign="top"> <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;Evt.
                      link:</font></div></td>
                  <td width="670"> <table width="500" border="0" cellspacing="0" cellpadding="0">
                      <tr>
                        <td width="289"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                          <input name="link" type="text" class="noborder" value="<% = link%>" size="41">
                          </font></td>
                        <td width="362"><div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                            (www.stenhuset.dk)</font></div></td>
                      </tr>
                    </table></td>
                </tr>
                <tr>
                  <td valign="top"> <div align="right"></div></td>
                  <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                    <input name="Submit" type="submit" class="knap" value="Opdater">
                    </font></td>
                </tr>
              </table>
              <p>
                <input type="hidden" name="id" value="<% = id%>">
              </p>
            </form></td>
        </tr>
      </table>
Avatar billede eagleeye Praktikant
31. august 2003 - 20:59 #1
Til at starte med skal du havde rette form tagen fra dette:

<form action="opdater.asp" method="post" name="form1">

Til dette:

<form action="opdater.asp" method="post" name="form1" ENCTYPE="multipart/form-data">


Så skal du havde lagt et input felt ind som kan finde en fil det skal de sådan her ud:

<input type="file" name="file1">




OG koden skal rettes her det koden som den vist skal være det er kun den del som opdater databasen der er med.:



If Request("Submit") <> "" Then

  Set upload = Server.CreateObject("aspSmartUpload.SmartUpload")
  count = upload.Upload

  sti = "/pic/nyheder/"
  if count >= 1 then
    Set file = upload.Files("file1")
    filnavn = sti & "/" & file.FileName
    file.saveas Server.MapPath(filnavn)
  else
    filnavn = ""
  end if

  indlaeg("overskrift") = upload.form("overskrift")
  indlaeg("dato") = upload.form("dato")
  indlaeg("forfatter") = upload.form("forfatter")
  indlaeg("indlaeg") = upload.form("indhold")
  If upload.form("link") = "" Then
    indlaeg("link") = NULL
  Else
    indlaeg("link") = upload.form("link")
  End If

  indlaeg("billed") = filnavn

  indlaeg.Update

  Response.Redirect("nyheder.asp")

Else
Avatar billede jtc Nybegynder
31. august 2003 - 21:02 #2
bliver du lige hængende mens jeg afprøver det????
Avatar billede eagleeye Praktikant
31. august 2003 - 21:04 #3
Jeps.
Avatar billede jtc Nybegynder
31. august 2003 - 21:08 #4
det virker desværre ikke
hvad kan der være galt

Der står
500 - internal server error
Avatar billede eagleeye Praktikant
31. august 2003 - 21:11 #5
Det kan være mange ting prøv først dette. Du skulle gerne få en bedre fejl kode/beskrivelse ved at slå denne fra i IE:

funktioner -> internetindstillinger -> avanceret -> fjern kryds i "vis meddelelse om uskadelige http-fejl"
Avatar billede jtc Nybegynder
31. august 2003 - 21:11 #6
Feltet hvor stien til billedet skal gemmes hedder billed, mangler det ikke i koden
Avatar billede eagleeye Praktikant
31. august 2003 - 21:12 #7
Den er lige inden indlaeg.Update

indlaeg("billed") = filnavn
Avatar billede jtc Nybegynder
31. august 2003 - 21:16 #8
skal der ikke stå
indlaeg("billed") = upload.form(filnavn)

Jeg kan ikke finde avanceret, jeg bruger explorer 6.0
Avatar billede eagleeye Praktikant
31. august 2003 - 21:19 #9
Nej.

filnavn bliver lavet her og er sti+filnavn til billedet:
filnavn = sti & "/" & file.FileName
Avatar billede eagleeye Praktikant
31. august 2003 - 21:19 #10
DK version?
Avatar billede jtc Nybegynder
31. august 2003 - 21:20 #11
ja dk version
Avatar billede eagleeye Praktikant
31. august 2003 - 21:21 #12
Det skulle være fanen helt til højre.
Avatar billede jtc Nybegynder
31. august 2003 - 21:22 #13
det faneblad hedder programmer
Avatar billede eagleeye Praktikant
31. august 2003 - 21:23 #14
Hmm det ved jeg ikke så... Det skal være et faneblad hvor der kommer en masse checkbokse frem.
Avatar billede eagleeye Praktikant
31. august 2003 - 21:25 #15
Det ikke sådan du har XP eller W2K og en bruger én profil som her få rettigheder?
Avatar billede jtc Nybegynder
31. august 2003 - 21:27 #16
ja det ved jeg heller ikke men du kan vel selv prøve på følgende side

http://www.insideout.dk/nyheder/

Desuden virker updaten heller ikke hvis man ikke har noget billed til det pågældende indlaeg
Avatar billede jtc Nybegynder
31. august 2003 - 21:27 #17
jeg bruger xp og har kun en profil
Avatar billede eagleeye Praktikant
31. august 2003 - 21:32 #18
Directory Listing Denied
This Virtual Directory does not allow contents to be listed.
Avatar billede jtc Nybegynder
31. august 2003 - 21:35 #19
sådan var det vist sorry

du skal bruge manu som brugernavn og pass
http://www.insideout.dk/nyheder/nyheder.asp
Avatar billede eagleeye Praktikant
31. august 2003 - 21:38 #20
Ok, hvad skal jeg prøve?
Avatar billede jtc Nybegynder
31. august 2003 - 21:39 #21
prøv at opdatere det første indlaeg
Avatar billede eagleeye Praktikant
31. august 2003 - 21:40 #22
arh.. skod, det web-hotel har laves deres egen fejl side. Så kan man ikke få fejlen at se.
Så prøv at paste koden så må vi prøve at gå den igennem.
Avatar billede jtc Nybegynder
31. august 2003 - 21:41 #23
men skal der stå
filnavn = sti & "/" & file.FileName

når der står
sti = "/pic/nyheder/"

kommer der så ikke 2 / efter hinanden
Avatar billede jtc Nybegynder
31. august 2003 - 21:42 #24
<%
If Session("validering") <> "valid" Then Response.Redirect("nyheder.asp")

id = Request("id")
%>
<!--#include file="nyheder_forbindelse.asp"-->
<%
Set indlaeg = Server.CreateObject("ADODB.Recordset")
indlaeg.Open "SELECT * FROM nyhedsindlaeg WHERE id = " & id, database,2 ,2

If Request("Submit") <> "" Then

  Set upload = Server.CreateObject("aspSmartUpload.SmartUpload")
  count = upload.Upload

  sti = "/pic/nyheder/"
  if count >= 1 then
    Set file = upload.Files("file1")
    filnavn = sti & "/" & file.FileName
    file.saveas Server.MapPath(filnavn)
  else
    filnavn = ""
  end if

  indlaeg("overskrift") = upload.form("overskrift")
  indlaeg("dato") = upload.form("dato")
  indlaeg("forfatter") = upload.form("forfatter")
  indlaeg("indlaeg") = upload.form("indhold")
  If upload.form("link") = "" Then
    indlaeg("link") = NULL
  Else
    indlaeg("link") = upload.form("link")
  End If
 
  indlaeg("billed") = filnavn

  indlaeg.Update

  Response.Redirect("nyheder.asp")

Else

overskrift = indlaeg("overskrift")
dato = formatmindato(indlaeg("dato"))
forfatter = indlaeg("forfatter")
indhold = indlaeg("indlaeg")
link = indlaeg("link")

End If
%>
Avatar billede eagleeye Praktikant
31. august 2003 - 21:42 #25
nej det rigtig der skal kun være et / prøv at lave denne

filnavn = sti & "/" & file.FileName

om til dette og behold / i vairalben sti:

filnavn = sti & file.FileName
Avatar billede jtc Nybegynder
31. august 2003 - 21:44 #26
det hjalp ikke, men prv at kigge på koden oven over
Avatar billede jtc Nybegynder
31. august 2003 - 21:47 #27
kan det være fordi pic mappen ligger i roden og filen opdater.asp ligger i en mappe som hedder nyheder???
Avatar billede eagleeye Praktikant
31. august 2003 - 21:48 #28
nej det skulle ikke give problemmer.
Avatar billede jtc Nybegynder
31. august 2003 - 21:48 #29
men er stien så rigtig
Avatar billede eagleeye Praktikant
31. august 2003 - 21:51 #30
Det skulle den være da der er en / først i denne linje, det betyder pic skal ligge i root på servere.

sti = "/pic/nyheder/"
Avatar billede jtc Nybegynder
31. august 2003 - 21:53 #31
okay men skal der godt nok stå
upload.form("forfatter")

og ikke
request("forfatter")
Avatar billede eagleeye Praktikant
31. august 2003 - 21:56 #32
Prøv at lave koden om til dette:


<%
If Session("validering") <> "valid" Then Response.Redirect("nyheder.asp")
%>
<!--#include file="nyheder_forbindelse.asp"-->
<%
Set indlaeg = Server.CreateObject("ADODB.Recordset")


if Request.ServerVariables("REQUEST_METHOD") = "POST" then

  Set upload = Server.CreateObject("aspSmartUpload.SmartUpload")
  count = upload.Upload

  id = upload.Form("id")

  indlaeg.Open "SELECT * FROM nyhedsindlaeg WHERE id = " & id, database,2 ,2

  sti = "/pic/nyheder/"
  if count >= 1 then
    Set file = upload.Files("file1")
    filnavn = sti & file.FileName
    file.saveas Server.MapPath(filnavn)
  else
    filnavn = ""
  end if

  indlaeg("overskrift") = upload.form("overskrift")
  indlaeg("dato") = upload.form("dato")
  indlaeg("forfatter") = upload.form("forfatter")
  indlaeg("indlaeg") = upload.form("indhold")
  If upload.form("link") = "" Then
    indlaeg("link") = NULL
  Else
    indlaeg("link") = upload.form("link")
  End If
 
  indlaeg("billed") = filnavn

  indlaeg.Update

  Response.Redirect("nyheder.asp")

Else
  id = Request("id")

  indlaeg.Open "SELECT * FROM nyhedsindlaeg WHERE id = " & id, database,2 ,2

  overskrift = indlaeg("overskrift")
  dato = formatmindato(indlaeg("dato"))
  forfatter = indlaeg("forfatter")
  indhold = indlaeg("indlaeg")
  link = indlaeg("link")

End If
%>
Avatar billede eagleeye Praktikant
31. august 2003 - 21:58 #33
nej. man skal netop bruge upload.form og ikke request ellers kommer der fejl, derfor den nye kode som før vist.
Avatar billede jtc Nybegynder
31. august 2003 - 22:03 #34
nu kommer der ingen fejlmeddelelser men den uploader ikke billedet til serveren
Avatar billede eagleeye Praktikant
31. august 2003 - 22:04 #35
Gemmer den i DB'en hvis du retter noget ?
Avatar billede jtc Nybegynder
31. august 2003 - 22:04 #36
hvis jeg retter hvad
Avatar billede jtc Nybegynder
31. august 2003 - 22:06 #37
den gemmer ikke i db'en med den koden som du gav mig sidst, men den gemmer ændringer i f.eks forfatternavnet
Avatar billede eagleeye Praktikant
31. august 2003 - 22:06 #38
I teksten eksemplevis.
Avatar billede jtc Nybegynder
31. august 2003 - 22:08 #39
den gemmer ændringer i teksten men jeg den gemmer i filnavnet i databasen ellers uploadre til mappen
Avatar billede jtc Nybegynder
31. august 2003 - 22:12 #40
det var vist lidt for hurtigt jeg fik skrevet det

Men nu gemmer den ændringer i teksten
Den gemmer dog ikke filnavnet i databasen og den gemmer heller ikke selve filen i den pågældende mappe.
Avatar billede eagleeye Praktikant
31. august 2003 - 22:15 #41
Så prøv at lave denne del:



  Set upload = Server.CreateObject("aspSmartUpload.SmartUpload")
  count = upload.Upload

  id = upload.Form("id")

  indlaeg.Open "SELECT * FROM nyhedsindlaeg WHERE id = " & id, database,2 ,2

  sti = "/pic/nyheder/"
  if count >= 1 then
    Set file = upload.Files("file1")
    filnavn = sti & file.FileName
    file.saveas Server.MapPath(filnavn)
  else
    filnavn = ""
  end if


Om til dette:

  Set upload = Server.CreateObject("aspSmartUpload.SmartUpload")
  upload.Upload

  id = upload.Form("id")

  indlaeg.Open "SELECT * FROM nyhedsindlaeg WHERE id = " & id, database,2 ,2

  sti = "/pic/nyheder/"
  for each file in upload.Files
    If not file.IsMissing Then
      filnavn = sti & file.FileName
      file.saveas Server.MapPath(filnavn)
    else
      filnavn = ""
    end if
  next
Avatar billede jtc Nybegynder
31. august 2003 - 22:22 #42
det var bedre

men kan man gøre sådan at filnavnet står på opdater-siden når jeg går ind på den næste gang
Avatar billede jtc Nybegynder
31. august 2003 - 22:27 #43
er du der endnu
Avatar billede jtc Nybegynder
31. august 2003 - 22:38 #44
Er du der eagleeye???
Avatar billede eagleeye Praktikant
31. august 2003 - 22:40 #45
Ja nu er jeg.
Avatar billede jtc Nybegynder
31. august 2003 - 22:40 #46
kan man gøre sådan at filnavnet står på opdater-siden når jeg går ind på den næste gang
Avatar billede eagleeye Praktikant
31. august 2003 - 22:42 #47
Skal kan man lave det sådan at den skriver hvilken fil der valgt eller vil den forsøge at upload en fil.
Avatar billede jtc Nybegynder
31. august 2003 - 22:45 #48
okay, så det kan altså ikke lave sig gøre
Avatar billede jtc Nybegynder
31. august 2003 - 22:46 #49
??
Avatar billede eagleeye Praktikant
31. august 2003 - 22:47 #50
Nej hvis man skriver noget i feltet tror den det er en fil den skal uploade.

Man kan skrive en tekst bag feltet hvilken fil det er den bruger.
Avatar billede jtc Nybegynder
31. august 2003 - 22:47 #51
men kan man slette billedet fra mappen og dermed også billednavnet fra databasen???
Avatar billede eagleeye Praktikant
31. august 2003 - 22:48 #52
Nej det hænger ikke sammen på den måde. Linket i databasen vil blive der, hvis man ikke laver noget kode som fjerne begge dele.
Avatar billede eagleeye Praktikant
31. august 2003 - 22:50 #53
Hvis man ikke skriver noget filnavn i felte vil den nok fjerne filnanvet fra databasen.

Så prøv evt at lave denne linje:

indlaeg("billed") = filnavn

om til:

if filnavn <> "" then
  indlaeg("billed") = filnavn
end if
Avatar billede jtc Nybegynder
31. august 2003 - 22:50 #54
så tænkte jeg jo på om man eventuelt kunne lave det?
Avatar billede eagleeye Praktikant
31. august 2003 - 22:51 #55
I samme kode?
Avatar billede jtc Nybegynder
31. august 2003 - 22:54 #56
ja så hvis man trykkede på en knap ville billedet forsvinde fra mappen samtidig med at billedet ville forsvinde fra databasen
Avatar billede eagleeye Praktikant
31. august 2003 - 22:55 #57
Man kunne evt lave en checkbox og tilføje den efter billedet og hvis man satte kryds i den slettede den billet?
Avatar billede jtc Nybegynder
31. august 2003 - 22:56 #58
ja det ville være meget fint hvis du kunne lave det
Avatar billede jtc Nybegynder
31. august 2003 - 23:02 #59
er det noget du kan lave????
Avatar billede jtc Nybegynder
31. august 2003 - 23:07 #60
Kan du så ikke også lige sige mig hvad jeg skal lave om i følgende kode for at jeg kan oprette indlaeg med et billed

<%
If Session("validering") <> "valid" Then Response.Redirect("nyheder.asp")

If Request("Submit") <> "" Then
%>
<!--#include file="nyheder_forbindelse.asp"-->
<%
Set indlaeg = Server.CreateObject("ADODB.Recordset")
indlaeg.Open "SELECT * FROM nyhedsindlaeg", database, 2, 2

indlaeg.AddNew
    indlaeg("overskrift") = Request("overskrift")
    indlaeg("dato") = Request("dato")
    indlaeg("forfatter") = Request("forfatter")
    indlaeg("indlaeg") = Request("indlaeg")
    If Request("link") <> "" then
        indlaeg("link") = Request("link")
    End If
indlaeg.Update

Response.Redirect("nyheder.asp")

End If
%>
Avatar billede jtc Nybegynder
31. august 2003 - 23:07 #61
er du der endnu??????
Avatar billede eagleeye Praktikant
31. august 2003 - 23:09 #62
Prøv at tiløje denne checkbox til formen så:

<input type="checkbox" name="sletbillede" value="ja">Slet billede.





Og Lav koden om til dette:

Så er der også en variable:

billedNavn  som indeholder stilen på billedet som du kan udskrive.


<%
If Session("validering") <> "valid" Then Response.Redirect("nyheder.asp")
%>
<!--#include file="nyheder_forbindelse.asp"-->
<%
Set indlaeg = Server.CreateObject("ADODB.Recordset")


if Request.ServerVariables("REQUEST_METHOD") = "POST" then

  Set upload = Server.CreateObject("aspSmartUpload.SmartUpload")
  count = upload.Upload

  id = upload.Form("id")

  indlaeg.Open "SELECT * FROM nyhedsindlaeg WHERE id = " & id, database,2 ,2

  sti = "/pic/nyheder/"
  if count >= 1 then
    Set file = upload.Files("file1")
    filnavn = sti & file.FileName
    file.saveas Server.MapPath(filnavn)
  else
    filnavn = ""
  end if

  sletbillede = upload.Form("sletbillede")
  if sletbillede <> "" then sletbillede = "OK"

  if sletbillede = "OK" AND isNull(indlaeg("billed"))=false then
    Set FSO = Server.CreateObject("Scripting.FileSystemObject")
    If fso.FileExists(Server.MapPath(indlaeg("billed")))=true Then
      fso.DeleteFile(Server.MapPath(indlaeg("billed")))
    end if
  end if

  indlaeg("overskrift") = upload.form("overskrift")
  indlaeg("dato") = upload.form("dato")
  indlaeg("forfatter") = upload.form("forfatter")
  indlaeg("indlaeg") = upload.form("indhold")
  If upload.form("link") = "" Then
    indlaeg("link") = NULL
  Else
    indlaeg("link") = upload.form("link")
  End If
 
  if sletbillede = "OK" then
    indlaeg("billed") = ""
  end if
  if sletbillede <> "OK" AND filnavn <> "" then
    indlaeg("billed") = filnavn
  end if

  indlaeg.Update

  Response.Redirect("nyheder.asp")

Else
  id = Request("id")

  indlaeg.Open "SELECT * FROM nyhedsindlaeg WHERE id = " & id, database,2 ,2

  overskrift = indlaeg("overskrift")
  dato = formatmindato(indlaeg("dato"))
  forfatter = indlaeg("forfatter")
  indhold = indlaeg("indlaeg")
  link = indlaeg("link")
 
  billedNavn = indlaeg("billed")
End If
%>
Avatar billede jtc Nybegynder
31. august 2003 - 23:17 #63
ja den sletter filnavet fra databasen, men man kan vel ikke også slette billedet fra den pågældende mappe????
Avatar billede eagleeye Praktikant
31. august 2003 - 23:18 #64
det skulle den også gøre.
Avatar billede jtc Nybegynder
31. august 2003 - 23:23 #65
det gør den da egentlig også så virker det da

men kig lige på min kommentar af
31/08-2003 23:07:03
og sig mig om det er noget du kan lave
Avatar billede jtc Nybegynder
31. august 2003 - 23:24 #66
er du der endnu???
Avatar billede eagleeye Praktikant
31. august 2003 - 23:25 #67
det er med, den hendter billede nanvet ud i varible som hedder  billedNavn:

billedNavn = indlaeg("billed")
Avatar billede jtc Nybegynder
31. august 2003 - 23:28 #68
hvad svarer du på nu???
Avatar billede eagleeye Praktikant
31. august 2003 - 23:30 #69
doh.. ikke noget jeg misforstod vist noget.
Avatar billede jtc Nybegynder
31. august 2003 - 23:30 #70
men kig lige på min kommentar af
31/08-2003 23:07:03
og sig mig om det er noget du kan lave
Avatar billede jtc Nybegynder
31. august 2003 - 23:33 #71
efter du har sat funktionen ind der kan slette billedet kan jeg ikke længere uploade et billed
Avatar billede eagleeye Praktikant
31. august 2003 - 23:33 #72
kommentar 31/08-2003 23:07:03

Det skal sådan set bare laves på samme måde. Sådan her:



<%
If Session("validering") <> "valid" Then Response.Redirect("nyheder.asp")
%>
<!--#include file="nyheder_forbindelse.asp"-->
<%
Set indlaeg = Server.CreateObject("ADODB.Recordset")


if Request.ServerVariables("REQUEST_METHOD") = "POST" then

  Set upload = Server.CreateObject("aspSmartUpload.SmartUpload")
  count = upload.Upload

  id = upload.Form("id")

  indlaeg.Open "SELECT * FROM nyhedsindlaeg", database,2 ,2

  sti = "/pic/nyheder/"
  if count >= 1 then
    Set file = upload.Files("file1")
    filnavn = sti & file.FileName
    file.saveas Server.MapPath(filnavn)
  else
    filnavn = ""
  end if

  indlaeg.AddNew
  indlaeg("overskrift") = upload.form("overskrift")
  indlaeg("dato") = upload.form("dato")
  indlaeg("forfatter") = upload.form("forfatter")
  indlaeg("indlaeg") = upload.form("indhold")
  If upload.form("link") = "" Then
    indlaeg("link") = NULL
  Else
    indlaeg("link") = upload.form("link")
  End If
 
  indlaeg("billed") = filnavn

  indlaeg.Update

  Response.Redirect("nyheder.asp")

end if
Avatar billede eagleeye Praktikant
31. august 2003 - 23:35 #73
hm så prøv at rette:

  if sletbillede <> "OK" AND filnavn <> "" then
    indlaeg("billed") = filnavn
  end if


til:

  if filnavn <> "" then
    indlaeg("billed") = filnavn
  end if
Avatar billede jtc Nybegynder
31. august 2003 - 23:40 #74
det hjalp ikke noget af det
Avatar billede eagleeye Praktikant
31. august 2003 - 23:43 #75
Prøv at lave dette:

  Set upload = Server.CreateObject("aspSmartUpload.SmartUpload")
  count = upload.Upload

  id = upload.Form("id")

  indlaeg.Open "SELECT * FROM nyhedsindlaeg WHERE id = " & id, database,2 ,2

  sti = "/pic/nyheder/"
  if count >= 1 then



Om til dette:

  Set upload = Server.CreateObject("aspSmartUpload.SmartUpload")
  upload.Upload

  id = upload.Form("id")

  indlaeg.Open "SELECT * FROM nyhedsindlaeg WHERE id = " & id, database,2 ,2

  sti = "/pic/nyheder/"
  for each file in upload.Files
    If not file.IsMissing Then
      filnavn = sti & file.FileName
      file.saveas Server.MapPath(filnavn)
    else
      filnavn = ""
    end if
  next
Avatar billede jtc Nybegynder
31. august 2003 - 23:47 #76
ja så virker opdater siden, men opret siden virker ikke med den kode du kom med
hvad er der galt???
Avatar billede jtc Nybegynder
31. august 2003 - 23:49 #77
den skriver der er fejl i linie 14 som er

  upload.Upload
Avatar billede eagleeye Praktikant
31. august 2003 - 23:52 #78
Det er det samme ret disse:

  count = upload.Upload

  id = upload.Form("id")

  indlaeg.Open "SELECT * FROM nyhedsindlaeg", database,2 ,2

  sti = "/pic/nyheder/"
  if count >= 1 then
    Set file = upload.Files("file1")
    filnavn = sti & file.FileName
    file.saveas Server.MapPath(filnavn)
  else
    filnavn = ""
  end if



Til:

  Set upload = Server.CreateObject("aspSmartUpload.SmartUpload")
  upload.Upload

  indlaeg.Open "SELECT * FROM nyhedsindlaeg", database,2 ,2

  sti = "/pic/nyheder/"
  for each file in upload.Files
    If not file.IsMissing Then
      filnavn = sti & file.FileName
      file.saveas Server.MapPath(filnavn)
    else
      filnavn = ""
    end if
  next
Avatar billede jtc Nybegynder
31. august 2003 - 23:56 #79
Hvis det er sådan det skal se ud virker det ikke

<%
If Session("validering") <> "valid" Then Response.Redirect("nyheder.asp")
%>
<!--#include file="nyheder_forbindelse.asp"-->
<%
Set indlaeg = Server.CreateObject("ADODB.Recordset")


if Request.ServerVariables("REQUEST_METHOD") = "POST" then

  Set upload = Server.CreateObject("aspSmartUpload.SmartUpload")
  upload.Upload

  indlaeg.Open "SELECT * FROM nyhedsindlaeg", database,2 ,2

  sti = "/pic/nyheder/"
  for each file in upload.Files
    If not file.IsMissing Then
      filnavn = sti & file.FileName
      file.saveas Server.MapPath(filnavn)
    else
      filnavn = ""
    end if
  next
 
  indlaeg.AddNew
  indlaeg("overskrift") = upload.form("overskrift")
  indlaeg("dato") = upload.form("dato")
  indlaeg("forfatter") = upload.form("forfatter")
  indlaeg("indlaeg") = upload.form("indhold")
  If upload.form("link") = "" Then
    indlaeg("link") = NULL
  Else
    indlaeg("link") = upload.form("link")
  End If
 
  indlaeg("billed") = filnavn

  indlaeg.Update

  Response.Redirect("nyheder.asp")

end if
%>
Avatar billede eagleeye Praktikant
31. august 2003 - 23:57 #80
Husk at tilføje dette  ENCTYPE="multipart/form-data"
til form tagen.
Avatar billede jtc Nybegynder
01. september 2003 - 00:02 #81
ja så virker det hvis jeg også lige retter

indlaeg("indlaeg") = upload.form("indhold")
til
indlaeg("indlaeg") = upload.form("indlaeg")
Avatar billede jtc Nybegynder
01. september 2003 - 00:03 #82
kan man udvide antallet af filupload-felter????
Avatar billede jtc Nybegynder
01. september 2003 - 00:07 #83
er du der endnu
Avatar billede eagleeye Praktikant
01. september 2003 - 00:08 #84
Ja du kan tilføje lige så mange du har lyst.
Avatar billede jtc Nybegynder
01. september 2003 - 00:09 #85
så vent lige 5 min så prøver jeg lige det
Avatar billede eagleeye Praktikant
01. september 2003 - 00:11 #86
Nej jeg går i seng nu.

koden som gemmer filen skal du lave om også så det passer til flere filer


  sti = "/pic/nyheder/"
  for each file in upload.Files
    If not file.IsMissing Then
      filnavn = sti & file.FileName
      file.saveas Server.MapPath(filnavn)
    else
      filnavn = ""
    end if
  next

her bruger den samme variable til at gemme filnavnet i ved alle felterene så.
Avatar billede jtc Nybegynder
01. september 2003 - 00:15 #87
kommer du på igen i morgen så kan vi lige blive færdige der?
Avatar billede eagleeye Praktikant
01. september 2003 - 08:46 #88
Vi er vist færdige med spørgsmålet.

Som før sagt denne looper alle fil input felterne:

  sti = "/pic/nyheder/"
  for each file in upload.Files
    If not file.IsMissing Then
      filnavn = sti & file.FileName
      file.saveas Server.MapPath(filnavn)
    else
      filnavn = ""
    end if
  next


Det kan ændres til at lave en liste med filerne:

  sti = "/pic/nyheder/"
  filliste = ""
  for each file in upload.Files
    If not file.IsMissing Then
      filnavn = sti & file.FileName
      filliste = filliste & "," & filnavn
      file.saveas Server.MapPath(filnavn)
    else
      filnavn = ""
      filliste = filliste & "," & filnavn
    end if
  next
  if filliste <> "" then fillist = mid(filliste,2)

Så har du en komma seperete liste  filliste  med alle filnavne i.


Eller kan du tilgå hver fil ved navnet på form-inpuet:

Set file1 = upload.Files("file1")
Set file2 = upload.Files("file2")
Set file3 = upload.Files("file3")

file1.SaveAs Server.MapPath("/pic/nyheder/" & file1.Filename)
osv..
Avatar billede jtc Nybegynder
01. september 2003 - 13:43 #89
jeg siger mange tak for hjælpen, jeg kunne ikke have lavet det uden dig

Så mange tak for hjælpen Eagleeye
Avatar billede hnteknik Novice
01. september 2003 - 16:11 #90
>>eagleeye  hold da ferie manner - har du Nettoposer under øjnene ?

Hvis det var indlæg, man skulle slette igen efter say 14 dage kunne man gemme indlægget med et random ID og tilsvarende gemme pic under samme ID.

Man skal blot huske at køre en del file igennem for de indlæg , der skal slettes.
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