Avatar billede Slettet bruger
23. august 2006 - 14:05 Der er 1 løsning

Vedhæft fil

Hej
Er der nogen rigtig skrappe hoveder der kan hjælpe mig? Jeg har en formular som virker fint, indtil jeg gerne vil have vedhæftet en fil og sendt med. Den sender mailen, men det er en tom mail og der bliver ikke vedhæftet nogen fil, min kode er herunder. Er der nogen der kan gennemskue det?

fil nr. 1

<%@ Language=VBScript %>
<%
Option Explicit ' Alle variable SKAL erklæres
Response.Expires = 0 ' Siden bliver ikke lagt i cache

' Lav et database-connection-objekt
Dim DBConn
Set DBConn = Server.CreateObject("ADODB.Connection")
DBConn.ConnectionTimeout = 5
DBConn.CommandTimeout = 10

' Åbn access filen
Dim strDBSti
strDBSti = Server.MapPath("bestilling.mdb")
DBConn.Open "Provider=Microsoft.Jet.OleDB.4.0;Data Source=" &strDBSti

Function DBExecute(sql)
    ' Returner resultatet af sql i et recordset
    Dim DBCmd
    Set DBCmd = Server.CreateObject("ADODB.Command")
    DBCmd.CommandTimeout = 10
    Dim rsSQL
    Set rsSQL = Server.CreateObject("ADODB.Recordset")
    rsSQL.CursorLocation = 3
    DBCmd.ActiveConnection = DBConn
    DBCmd.CommandText = sql
    rsSQL.Open DBCmd
    DBCmd.ActiveConnection = Nothing
    Set DBCmd = Nothing
    rsSQL.ActiveConnection = Nothing
    Set DBExecute = rsSQL
    Set rsSQL = Nothing
End Function

Dim rsSegment, rsGruppe, rsProdukt
' Hent segmenter
Set rsSegment = DBExecute("SELECT id, segmentnavn FROM segment ORDER BY id, segmentnavn")
' Hent grupper
Set rsGruppe = DBExecute("SELECT id, gruppenavn FROM gruppe ORDER BY id, gruppenavn")
' Hent produkter
Set rsProdukt = DBExecute("SELECT segmentid, gruppeid, cunr, produktnavn, enhed, pris FROM produkt ORDER BY segmentid, gruppeid, produktnavn")

'Luk access filen
DBConn.Close
Set DBConn = Nothing
%>
<html>

<head>
<title>test</title>
</head>

<body>
<form ENCTYPE="multipart/form-data" ACTION="be_test2.asp" METHOD="post" id="form1"
name="form1">

  <input id="produkt" type="hidden" name="produkter">
  <input id="inpSegment" type="hidden"  name="segmentnavn">
  <input id="inpGruppe" type="hidden" name="gruppenavn"><table width="560">
    <tr>
      <td colspan="2" width="1821" bgcolor="#AFB9CA"><strong><span lang="da">
        </span></strong><br>
      </td>
    </tr>
    <tr>
      <td width="1817" colspan="2"><table border="1" cellpadding="6" cellspacing="0" width="560"
      bordercolor="#FFFFFF" bgcolor="#DFDFDF">
        <tr>
          <td width="91">Vælg <span lang="da">net</span></td>
          <td width="439"><select id="selSegment" onchange="SelSegGrp_OnChange()" size="1" name="D1">
<%
    ' Udskriv segmenter
    Dim numSegmenter
    numSegmenter = 0
    Do While Not rsSegment.EOF
        Response.Write "<option value=""" & rsSegment("id") & """>" & rsSegment("segmentnavn") & "</option>"
        rsSegment.MoveNext
        numSegmenter = numSegmenter + 1
    Loop
    %>          </select></td>
        </tr>
        <tr>
          <td width="91">Vælg <span lang="da">art</span></td>
          <td width="439"><select id="selGruppe" onchange="SelSegGrp_OnChange()" size="1">
<%
    ' Udskriv grupper
    Dim numGrupper
    numGrupper = 0
    Do While Not rsGruppe.EOF
        Response.Write "<option value=""" & rsGruppe("id") & """>" & rsGruppe("gruppenavn") & "</option>"
        rsGruppe.MoveNext
        numGrupper = numGrupper + 1
    Loop
    %>          </select></td>
        </tr>
        <tr>
          <td width="91">Vælg produkter</td>
          <td width="439"><%
    Dim i, j
    rsSegment.MoveFirst
    Do While Not rsSegment.EOF
        rsGruppe.MoveFirst
        Do While Not rsGruppe.EOF
            ' For hvert segment, for hver gruppe, udskriv en dropdown liste til produkter
            Response.Write Chr(13) & "<select id=""selProdukt" & rsGruppe("id") & rsSegment("id") & """ onchange=""selProdukt_OnChange()"" style=""display:none"">"
            Response.Write "<option selected>Vælg...</option>"
            If Not rsProdukt.EOF Then
                Do While Ccur(rsSegment("id")) = Ccur(rsProdukt("segmentid")) And Ccur(rsGruppe("id")) = Ccur(rsProdukt("gruppeid"))
                    ' Udskriv produkter
                    Response.Write "<option cunr=""" &rsProdukt("cunr") & """ enhed=""" &rsProdukt("enhed") & """ pris=""" &rsProdukt("pris") & """>" & rsProdukt("produktnavn") & "</option>"
                    rsProdukt.MoveNext
                    If rsProdukt.EOF Then
                        Exit Do
                    End If
                Loop
            End If
            Response.Write "</select>"
            rsGruppe.MoveNext
        Loop
        rsSegment.MoveNext
    Loop
   
    rsSegment.MoveFirst
    rsGruppe.MoveFirst
    %>
</td>
        </tr>
      </table>
      </td>
    </tr>
    <tr>
      <td colspan="2" width="1821"><table border="1" id="tblProdukt" width="560"
      bordercolor="#FFFFFF" bgcolor="#DFDFDF" cellspacing="0" cellpadding="6">
        <tr>
          <th>Fjern</th>
          <th>nr</th>
          <th>Navn</th>
          <th>Antal / Enhed</th>
          <th>Pris</th>
        </tr>
      </table>
      </td>
    </tr>
    <tr>
      <td colspan="2" width="1821"></td>
    </tr>
    <tr>
      <td width="575" bgcolor="#DFDFDF" bordercolor="#FFFFFF"><span lang="da">
        Yderligere oplysninger</span></td>
      <td width="1242" bgcolor="#DFDFDF" bordercolor="#FFFFFF"><textarea rows="3"
      name="Beskrivelse" cols="31"></textarea></td>
    </tr>
    <tr>
      <td width="575" bgcolor="#DFDFDF" bordercolor="#FFFFFF">&nbsp;</td>
      <td width="1242" bgcolor="#DFDFDF" bordercolor="#FFFFFF">
<INPUT TYPE="file" NAME="Fil" SIZE=35>&nbsp; </td>
     

    </tr>
 
    <tr>
      <td colspan="2" width="1821"><button onclick="submitForm()">Send</button></td>
    </tr>
  </table>
</form>
&nbsp;<p>&nbsp;<br>
<br>
<br>
</p>
</body>
<script language="javascript">
var objSelProduktVist; // Variabel der holder hvilken af produkt-dropdown listerne der vises.
function window.onload() { // Denne funktion kører når siden lige er blevet vist.
    objSelProduktVist = form1.selProdukt<%=rsGruppe("id") & rsSegment("id")%>; //Indsætter startværdien til den første liste af produkt-dropdown
    objSelProduktVist.style.display = "block";
}
function SelSegGrp_OnChange() { // Denne funktion kører når der laves en ændring i segment- eller gruppe-dropdown
    objSelProduktVist.style.display = "none"; // Skjuler den nuværende viste produkt-dropdown liste
    var o = eval("form1.selProdukt" + form1.selGruppe.value + form1.selSegment.value); // Henter den produkt-dropdown liste der skal vises
    o.style.display = "block"; // Vis den nye produkt-dropdown liste
    o.selectedIndex = 0; // Sæt valget i produkt-dropdown liste til første element
    objSelProduktVist = o; // Gem oplysningen om hvilken produkt-dropdown liste der nu vises
}
function selProdukt_OnChange() {
    // Findes produktet i forvejen?
    for(var i = 1; i < tblProdukt.rows.length; i++)
        if(tblProdukt.rows(i).id == "" + objSelProduktVist.selectedIndex + form1.selGruppe.selectedIndex + form1.selSegment.selectedIndex)
            break;
    if(i == tblProdukt.rows.length) {
        // Indsætter valgte produkt i en tabel
        var objRow, objCell, objInput;
        objRow = tblProdukt.insertRow();
        objRow.setAttribute("id", "" + objSelProduktVist.selectedIndex + form1.selGruppe.selectedIndex + form1.selSegment.selectedIndex);
        // Indsæt fjern-knap
        objCell = objRow.insertCell();
        objCell.innerHTML = "<button onclick=\"btnFjern_OnClick(this)\">Fjern</button>";
        // Indsæt CUnr
        objCell = objRow.insertCell();
        objCell.innerText = objSelProduktVist.item(objSelProduktVist.selectedIndex).cunr;
        // Indsæt navn
        objCell = objRow.insertCell();
        objCell.innerText = objSelProduktVist.item(objSelProduktVist.selectedIndex).text;
        // Indsæt felt til antal samt enhed
        objCell = objRow.insertCell();
        objCell.innerHTML = "<input maxlength=\"10\" size=\"4\" style=\"text-align:right\" type=\"text\" value=\"\"> " + objSelProduktVist.item(objSelProduktVist.selectedIndex).enhed;
        objInput = objCell.firstChild; // Hent antal objektet så der kan sættes fokus på det
        // Indsæt pris
        objCell = objRow.insertCell();
        objCell.innerText = "" + objSelProduktVist.item(objSelProduktVist.selectedIndex).pris + "";
        objInput.focus(); // Sæt fokus i det nye input felt
    }
    else {
        alert("Produktet er allerede valgt!");
        tblProdukt.rows(i).cells(3).firstChild.focus();
    }
    objSelProduktVist.selectedIndex = 0; // Sætter valget i produkt-dropdown til første element
}
function btnFjern_OnClick(obj) {
    // Find frem til rækken der er trykket på
    while(obj.tagName != "TR")
        obj = obj.parentElement;
    if(confirm("Er du sikker på du vil fjerne: " + obj.cells(2).innerText)) {
        // Fjern rækken
        tblProdukt.deleteRow(obj.rowIndex);
    }
}
function submitForm() {
    for(var i = 1; i < tblProdukt.rows.length; i++)
        form1.produkt.value += "^" + tblProdukt.rows(i).cells(1).innerText + "" + tblProdukt.rows(i).cells(2).innerText + " " + tblProdukt.rows(i).cells(3).firstChild.value + tblProdukt.rows(i).cells(3).innerText + tblProdukt.rows(i).cells(4).innerText;
    form1.produkt.value = form1.produkt.value.substring(1);
    form1.inpSegment.value = form1.selSegment.item(form1.selSegment.selectedIndex).text;
    form1.inpGruppe.value = form1.selGruppe.item(form1.selGruppe.selectedIndex).text;
    form1.submit();
}
</script>

</html>
<%
'Ryd op
Set rsSegment = Nothing
Set rsGruppe = Nothing
Set rsProdukt = Nothing
%>

Fil nr.2. be_test2.asp
<html>

<head>
<title>Bekræft </title>
</head>

<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0">

<p>&nbsp;</p>

<p>&nbsp;</p>

<table border="1" width="650" height="190" cellspacing="0" cellpadding="6"
bgcolor="#F0F0F0" bordercolor="#FFFFFF">
  <tr>
    <td width="416" height="21" valign="top" colspan="2" bgcolor="#AFB9CA"
    bordercolor="#FFFFFF">Du har sendt flg. oplysninger</td>
  </tr>
  <tr>
    <td width="174" valign="top" height="19">Segment</td>
    <td width="411" height="19"><%=Request.Form("segmentnavn")%>
</td>
  </tr>
  <tr>
    <td width="74" valign="top" height="25">Produkter</td>
    <td width="511" valign="top" height="25"><%
    Dim arrProdukt, i 'Erklærer variable
    arrProdukt=Split(Request.Form("Produkter"), "^") 'Lav et array ud fra de produkter der er medsendt
    For i = 0 To Ubound(arrProdukt) 'Loop igennem arrayet og udskriv produkter
        Response.Write arrProdukt(i) & "<br>" 'Udskriv hvert produkt
    Next
    %>
</td>
  </tr>
  </table>

<p align="left"><br>
</p>

<blockquote>
  <p>&nbsp;</p>
</blockquote>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p><font face="Arial" color="#000055"><%
    'Dansk tid og dato format (1030)
    Session.LCID = 1030
   
    Dim CR
    Dim TA
    Dim MyBody
   
    dtmToday = Now
    strTimestamp = FormatDateTime(dtmToday, vbShortDate) & Chr(32) & FormatDateTime(dtmToday, vbLongTime)
    CR = Chr(10)
    TA = Chr(32) & Chr(32) & Chr(32) & Chr(32) & Chr(32)

   
    Set MyCDONTSMail = CreateObject("CDONTS.NewMail")
    MyCDONTSMail.From ="xxxx@tdc.dk"
    MyCDONTSMail.To= "liri@test.dk"
    MyCDONTSMail.CC= ""


    MyCDONTSMail.Subject="test " & request.form("nr")
   
    MyBody = MyBody & "Segment........................: " & request.form("segmentnavn") & CR
    MyBody = MyBody & "Alle valgte produkter...........................................:" & CR
    For i = 0 To Ubound(arrProdukt)'Loop igennem arrayet og udskriv produkter
    MyBody = MyBody &  arrProdukt(i) & CR 'Udskriv hvert produkt
    Next
    MyBody = MyBody & CR
   
   


    MyCDONTSMail.Body = MyBody
    MyCDONTSMail.Send
    set MyCDONTSMail = nothing
   
%> </font></p>
</body>
</html>
Avatar billede Slettet bruger
21. september 2006 - 15:24 #1
Lukker
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