Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    102

    Far scegliere all'utente l'allegato da inviare in un modulo

    Gent.mi utenti del forum, ho bisogno di un aiuto
    ho
    1 pagina modulo che invia alla pagina 2
    2 la pagina asp che invia il quanto inserito nel modulo + un allegato preimpostato

    ho bisogno di modificare queste pagine per far scegliere all'utente del sito il file da allegare nel modulo per poi inviarlo a mezzo mail con la seconda pagina

    Vi posto il codice delle due pagine che ho trovato come esempi:

    PAGINA 1


    <HTML>
    <HEAD>
    <TITLE>modulo contatto cdosys con allegato</TITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    <style type="text/css">
    A:link, A:visited { text-decoration: none }
    A:hover { text-decoration: underline }
    .style1 {
    font-size: xx-small;
    }
    </style>
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_findObj(n, d) { //v4.01
    var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
    if(!x && d.getElementById) x=d.getElementById(n); return x;
    }

    function MM_validateForm() { //v4.0
    var i,p,q,nm,test,num,min,max,errors='',args=MM_valida teForm.arguments;
    for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
    if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
    if (p<1 || p==(val.length-1)) errors+='- '+nm+' deve essere valida.\n';
    } else if (test!='R') { num = parseFloat(val);
    if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
    if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
    min=test.substring(8,p); max=test.substring(p+1);
    if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' necessaria.\n'; }
    } if (errors) alert('Inserire email valida:\n'+errors);
    document.MM_returnValue = (errors == '');
    }
    //-->
    </script>
    </HEAD>
    <BODY BGCOLOR=#FFFFFF text="#333333">
    <table border="0" cellpadding="0" cellspacing="0" align="center">
    <tr>
    <td width="63%" valign="top">
    <table border="0" cellpadding="0" cellspacing="0" width="40%" align="center">
    <tr>
    <td width="100%">
    <form action="formcdosys_allegato.asp" method="post" name="form1" onSubmit="MM_validateForm('email','','RisEmail');r eturn document.MM_returnValue">
    <table border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="170" class="style1">
    <font face="Verdana, Arial, Helvetica, sans-serif" color="#333333">Nome</font>
    </td>
    <td width="191"><font color="#333333" size="2" face="Verdana, Arial, Helvetica, sans-serif">
    <input type="text" name="nome" size="30">
    </font></td>
    </tr>
    <tr>
    <td width="170" class="style1">
    <font face="Verdana, Arial, Helvetica, sans-serif" color="#333333">Cognome</font>
    </td>
    <td width="191"><font color="#333333" size="2" face="Verdana, Arial, Helvetica, sans-serif">
    <input type="text" name="cognome" size="30">
    </font></td>
    </tr>
    <tr>
    <td width="170" class="style1">
    <font face="Verdana, Arial, Helvetica, sans-serif" color="#333333">Telefono</font>
    </td>
    <td width="191"><font color="#333333" size="2" face="Verdana, Arial, Helvetica, sans-serif">
    <input type="text" name="tel" size="30">
    </font></td>
    </tr>
    <tr>
    <td width="170" class="style1">
    <font face="Verdana, Arial, Helvetica, sans-serif" color="#333333">E-mail
    *</font>
    </td>
    <td width="191"><font color="#333333" size="2" face="Verdana, Arial, Helvetica, sans-serif">

    <input type="text" name="email" size="40">
    </font></td>
    </tr>
    <tr>
    <td width="170" class="style1">
    <font color="#333333" face="Verdana, Arial, Helvetica, sans-serif">
    provenienza</font>
    </td>
    <td width="191"><font color="#333333" size="2" face="Verdana, Arial, Helvetica, sans-serif">
    <input type="text" name="provenienza" size="40">
    </font></td>
    </tr>
    <tr>
    <td width="170" class="style1">
    <font face="Verdana, Arial, Helvetica, sans-serif" color="#333333">Messaggio</font>
    </td>
    <td width="191">
    <font size="1" color="#333333" face="Verdana, Arial, Helvetica, sans-serif">
    <textarea name="messaggio" rows="10" cols="50" wrap="VIRTUAL"></textarea>
    </font> </td>
    </tr>
    </table>
    <p align="center">
    <font size="1" color="#333333" face="Verdana, Arial, Helvetica, sans-serif">
    <input type="submit" name="Submit" value="Contatto">
    </font> </p>
    </form>
    <p class="style1">
    <font face="Verdana, Arial, Helvetica, sans-serif">* richiesto
    </font> </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </BODY>
    </HTML>

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    102
    PAGINA 2 (QUELLA CHE INVIA LA MAIL)



    <%
    '============ Linkbruttocane su specifiche MSDN ================
    '* il corpo finale del messaggio contiene tutti i campi *
    '* inseriti nella pagina html, in pratica puoi mettere *
    '* tutti i campi che ti servono nel modulo di invio senza *
    '* fare altre configurazioni aggiuntive. *
    '================================================= ==============

    DIM corpoMessaggio, numeroCampi, invioA, invioDa, nomeDominio, indirizzoIp, modulo, browserSistemaOperativo, cartella, fileAllegato

    '* voce da modificare con il proprio indirizzo email

    invioA = "linkbruttocane@aruba.it"

    '* voce da modificare con un indirizzo email che funga da mittente:
    '* in caso di errore riceverete notifica a questo indirizzo un MAILER-DAEMON
    '* dato che cdosys supporta questa notifica

    invioDa = "linkbruttocane@technet.it"

    '* indicare il nome del file da allegare, il file deve
    '* risiedere in questa stessa cartella, come il file allegato a titolo di esempio

    fileAllegato = "ArubaShortcut.zip"

    '------------fine modifiche necessarie------------------

    nomeDominio = Request.ServerVariables("HTTP_HOST")
    indirizzoIp = Request.ServerVariables("REMOTE_ADDR")
    modulo = Request.ServerVariables("HTTP_REFERER")
    browserSistemaOperativo = Request.ServerVariables("HTTP_USER_AGENT")
    cartella = Server.MapPath("./")

    '*rilevo i campi del form

    FOR numeroCampi = 1 TO (Request.Form.Count() - 1)
    IF NOT Request.Form(numeroCampi) = "" THEN
    corpoMessaggio = corpoMessaggio & vbCrLf & Request.Form.Key(numeroCampi) & " = " & Trim(Request.Form(numeroCampi))
    END IF
    NEXT

    '* creo gli oggetti cdosys sul server e li gestisco

    DIM iMsg, Flds, iConf

    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")
    Set Flds = iConf.Fields

    Flds(cdoSendUsingMethod) = cdoSendUsingPort
    Flds(cdoSMTPServer) = "smtp.aruba.it"
    Flds(cdoSMTPServerPort) = 25
    Flds(cdoSMTPAuthenticate) = cdoAnonymous ' 0
    Flds.Update

    With iMsg
    Set .Configuration = iConf
    .To = invioA
    .From = Request.Form("email")
    .Sender = invioDa
    .Subject = "Contatto dal dominio " & nomeDominio
    .TextBody = "Questi i dati inseriti nel modulo presente alla pagina " & modulo & " da utente con indirizzo IP " & indirizzoIp & " browser e sistema operativo " & browserSistemaOperativo & vbCrLf & corpoMessaggio & ""
    .AddAttachment (cartella & "\" & fileAllegato)
    .Send
    End With
    %>
    <script>
    document.location.replace('grazie.asp');
    </script>

  3. #3
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,806
    per favore per postare codice sul forum usa il tag CODE, grazie


    come vedi la variabile si chiama fileAllegato

    che opzioni dovrebbe avere l'utente per scegliere i file?
    sono sempre quelli che imposti tu o potrebbero cambiare?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    102
    Chiedo scusa per la disattenzione su come ho postato il codice.

    Vorrei che nella pagina modulo ci fosse qualsoa tipo un tasto "allega file" che apra tipo esplora risorse

  5. #5
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,806
    uhmm... ma i file sono sul server o in locale?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    102
    mi spiego meglio...ho bisogno che il visitatore del sito abbia la possibilità di allegarmi una sua fotografia medica di circa 2-3 mega, che il paziente stesso possa indicare il percorso sul suo computer dal quale prelevare l'immagine, in modo che il sito generi questa mail ed io possa riceverla in allegato nella mia casella di posta elettronica

  7. #7
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,806
    ok, avevo pensato ad un'altro tipo di servizio

    -prima cosa devi fare l'upload del file
    -poi recuperarne il percorso sul server
    -invii la mail con l'allegato (di cui ti tieni da qualche parte il nome del file caricato, occhio al nome che sia univoco)

    non si tratta di "due righe di codice", non ti si può istruire su tutto in questo post.
    comincia con l'upload e il recupero del nome, poi si vede

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    102
    grazie....ci provo
    però non ho molta dimestichezza con queste cose.... non è che mi sapete indicare qualche esempio già pronto?

  9. #9
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,806
    visto che credo di aver intuito il tuo provider... consulta il vademecum e cerca persits

  10. #10
    Occhio che se usi AspUpload per caricare il file, l'invio della email devi farlo in una pagina successiva, perchè il sistema non ti farebbe creare un altro componente assieme ad uno dela persits ( se non erro..).

    chiaramente metti nella prima pagina l'enctype del form in multipart/formdata...e carichi tutti i campi.
    nella pagina successiva salvi il file in una cartella che vuoi tu sul server e scrivi il nome del file e gli altri campi, richiamandoli con Upload.Form invece che request.form.
    ti fai un redirect ad un'altra pagina portandoti dietro l'ID della tabella chew hai appena scritto.

    nella pagina successiva invii la email, facendo puntare il campo ALLEGATO all'URL assoluto del file che ha caricato il paziente.

    occhio a discorsi relativi a permission su cartelle, timeout degli script, riferimenti relativi alle cartelle....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.