• User

    i file che ho caricato erano .php e .html.....ma la finestra di invio mi diceva che non erano file validi


  • User

    ho ricevuto il tuo messaggio ma avevo il blocco pop up adesso dovrebbero essere abilitati ..puoi riprovare?


  • Super User

    Basta che clicchi sulla dicitura in alto a destra del forum "messaggi privati"...


  • Super User

    Il problema di Swamy è risolvibile con script lato server, ho capito dove sbagliava, aveva messo mailto nell'action della form al posto della pagina che processa il commento e lo invia all'indirizzo e-mail.
    🙂


  • Moderatore

    ciao,
    pikadilly, gentilissima, ti ha dato una risposta molto esauriente.

    Io però vorrei soffermarmi un attimo su un aspetto fondamentale che sta alle basi di un'applicazione dinamica come può essere un form per l'invio delle mail.

    Il codice che ti ha scritto pikadilly è in php, questo è un linguaggio lato server cioè un linguaggio di programmazione vero e proprio(più propriamente scripting).
    Questo linguaggio per funzionare ha necessità di un web server che può essere apache oppure iis.
    A secondo di cosa hai installato sul server che ospiterà il sito potrai utilizzare linguaggi differenti, nel caso il tuo web server fosse win avrai la possibilità di utilizzare sia php (ovviamente deve essere installato) oppure asp o asp.net

    Nel caso caso fosse linux allora la scelta è obbligatoria: php (in realtà avresti anche altre opzioni, ma non mettiamo troppa carne al fuoco)

    Perchè ti dico questo?
    Perchè prima di intraprendere la stesura di uno script è necessario sapere dove verrà allogiato lo stesso.

    Ipotiziamo che te hai un server linux con apache e php, lo script di pikadilly direi che è perfetto per il tuo scopo, perchè presenta tutte le caratteristiche per un buon mail form, dal controllo dei dati all'invio della mail.

    Passiamo al codice.
    Come ti è stato suggerito te necessariamente avere 2 pagine

    • la prima è la pagina dove è presente il form con le caselle di testo ed il pulsante per l'invio
    • la seconda è quella che elaborerà i dati ottenuti dalla prima ed invierà l'email.

    La prima pagina
    ipotiziamo che la prima pagina si chiami mail.htm e la seconda pagina,cioè quella che riceve i dati e li elaborerà si chiami pag2.php; avremo un codice simile a questo:

    MAIL.HTM:

    
    <html>
        <body>
            <form id="form1" method="post" name="form1" action="pag2.php">
                Email <input type="text" name="mail" id="mail"/>
                <br/>
                Messaggio
                <textarea id="body" name="body"></textarea>
                <br/>
                <input type="submit" value="Invia"/>
            </form>
        </body>
    </html>
    
    ```PAG2.PHP
    
    

    <html>
    <body>
    <?
    //Questo è un commento in php e verrà utilizzato per commentare il codice per rendere più semplice la lettura.

        //adesso viene fatto un controllo sul campo body
        //il campo body ovviamente si trova nella pag mail.htm
        //con l'istruzione $_POST['body'] andremo a recuperare il valore del campo body, la stessa cosa vale per gli altri campi
        //la funzione trim() verrà utilizzata per togliere eventuali spazi a sx e a dx della stringa presente nel campo body
        if ((trim($_POST['body']) != "")){
         //la variabile $to conterrà il tuo indirizzo email
         $to = "[email protected]";
         //la variabile body conterrà il valore del campo body
         $body = $_POST['body'];
         //la variabile $headers contiene gli headers delle email, cioè una serie di istruzioni necessarie al corretto invio della mail
         $headers = "From: " . $_POST['mail'] . "\n";
     
         //viene inviata la mail
         mail($to,$body,$headers);
         echo"Il commento è stato inviato correttamente.";
     }else{
         //il controllo sul campo body ha dato esito negativo quindi viene mostrato il messaggio di errore
         echo "Errore, deve compilare il modulo per inviare un commento.";
     }
        ?>
    </body>
    

    </html>

    Spero che questa spiegzione ti sia di aiuto se hai qualche problema noi siamo qui ;)
    :ciauz:

  • User

    Ciao...grazie per avermi risposto
    dunque altri chiarimenti,
    ti cito...
    (Questo linguaggio per funzionare ha necessità di un web server che può essere apache oppure iis.
    A secondo di cosa hai installato sul server che ospiterà il sito potrai utilizzare linguaggi differenti, nel caso il tuo web server fosse win avrai la possibilità di utilizzare sia php (ovviamente deve essere installato) oppure asp o asp.net)

    io utilizzo xp professional con ii, e in dreamweaver scelgo come tecnologia lato server uso ASP VBSsript. Cosa intendi "con php deve essere installato"?

    riguardo ai due file il MAIL.HTML e il PAG2.PHP li ho inseriti nella cartella del sito in dreamweaver come carinamente mi ha detto aiutandomi Piccadilly... ma dopo aver caricato il sito in remoto, apro la pagina per inviare il form e tento di inviarlo, mi compare un messaggio " Le impostazioni correnti non consentono il download del file"


  • Super User

    Bentrovata Swamy,
    io credo che in parte io ti abbia creato un pò di confusione.
    Tu hai un server remoto? Un sito www.miodomio.it o simili?
    Ieri sera ho provato la tua form nel mio sito e come hai ben visto ha funzionato, la mail ti è arrivata,io mi appoggio su server linux quindi uso php.
    Come dice Legolas se usi server windows e php non è istallato la form non può funzionare...bisogna sapere questa cosa almeno scegliamo il tipo di linguaggio adatto.
    🙂


  • User

    ok... cosa devo fare per attivare PHP in ii di windows xp prof?


  • Moderatore

    guarda a questo punto dato che hai detto di utilizzare win conviene farlo in asp non credi?

    lasci invariata la pagina mail.htm

    mentre al posto di PAG2.PHP crei PAG2.ASP

    e questo sarà il tuo codice:

    
            Dim strBody
            Dim CdoConfig
            Dim ObjMail
                             
            strBody= Trim(Request.Form("body"))
                              
            Set ObjMail = Server.CreateObject("CDO.Message")'  CDONTS.NewMail
            Set CdoConfig = CreateObject("CDO.Configuration")
                              
            With CdoConfig.Fields
    'Su questa riga devi settare il tuo smtp, se vuoi fare una prova dal computer di casa utilizza l'smtp del tuo fornitore di connettività
     .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost" 
                .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
                .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
                .Update
            End With
                              
            With ObjMail
                Set .Configuration = CdoConfig
                .From = Trim(Request.Form("mail"))
    
                'Qui devi mettere la tua email
                .To = "tua email"
                'Oggetto della mail
                .Subject = "Nuovo messaggio"
                .HTMLBody = StrCorpo
                On Error Resume Next
                .Send
            End With
            Set objMail = Nothing
            Set cdoConfig = Nothing
    
    

    :ciauz:


  • User

    ... allora dove hai scritto l'appunto, ho settato il mio smpt scrivendo semplicemente questo smpt:"out.alice.it" è corretta la sintassi?

    Poi... come pagina .html va bene quella proposta da dreamweaver 8 come modello? E' compatibile con il codice che mi hai inviato?

    Riepilogando, creo una pagina da modello DW con il Form, creo una pagina .PHP, do' ad entrambe lo stesso nome ma ovviamente hanno estensione diversa, poi carico in remoto


  • User

    scusami...la seconda pagina sarà .asp


  • Moderatore

    smpt:"out.alice.it" è corretta la sintassi?

    .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "out.alice.it"

    Poi... come pagina .html va bene quella proposta da dreamweaver 8 come modello? E' compatibile con il codice che mi hai inviato?

    va benissimo l'importante è che l'action del form punti alla pagina con estensione .asp

    Riepilogando, creo una pagina da modello DW con il Form, creo una pagina .PHP, do' ad entrambe lo stesso nome ma ovviamente hanno estensione diversa, poi carico in remoto

    Non è necessario che abbiano lo stesso ome ma se pensi che possa facilitari la comprensione allora da lo stesso nome senza problema.

    L'importante è che nella pagina che contiene il form dai l'aciont che punta alla pagina .asp e che nella pagina .asp utilizzi i campi che hai creato nella pagina .html

    A questo punto però ti consiglio di passare un paio di ore a studiare l'asp perchè prima di creare uno script devi necessariamente conoscere almeno le basi, perchè è come se volessi trovare la soluzione di un limite senza aver mai studiato matematica 😉

    :ciauz::ciauz:


  • User

    ok...non è una cosa risolvibile in un forum, comunque grazie per le dritte


  • User Attivo

    Complimenti a tutti i moderatori. Neanch'io capisco nulla di php, xò i 2 file li ho creati in un secondo e funziona tutto bene.
    Non ti scoraggiare, non è una cosa impossibile, basta un po di impegno, hanno fatto tutto i moderatori, basta che copi e incolli e finisce li.


  • Super User

    Nutritionvalley,
    grazie per i complimenti, in effetti anche io invito Swamy a non scoraggiarsi perchè adesso può sembrare difficile ma quando si prende confidenza con certi linguaggi non è difficile capirne il meccanismo, l'importante è studiare per bene.
    🙂


  • User Newbie

    Salve,
    Ho utilizzato questi codici, e funzionano benissimo. Ho solo un problema: Quando ricevo le e-mail, il messaggio degli utenti mi appare nel campo "oggetto" della mia casella di posta. Come devo fare per risolvere il problema?
    Grazie per la disponibilità

    @Legolas said:

    ciao,
    pikadilly, gentilissima, ti ha dato una risposta molto esauriente.

    Io però vorrei soffermarmi un attimo su un aspetto fondamentale che sta alle basi di un'applicazione dinamica come può essere un form per l'invio delle mail.

    Il codice che ti ha scritto pikadilly è in php, questo è un linguaggio lato server cioè un linguaggio di programmazione vero e proprio(più propriamente scripting).
    Questo linguaggio per funzionare ha necessità di un web server che può essere apache oppure iis.
    A secondo di cosa hai installato sul server che ospiterà il sito potrai utilizzare linguaggi differenti, nel caso il tuo web server fosse win avrai la possibilità di utilizzare sia php (ovviamente deve essere installato) oppure asp o asp.net

    Nel caso caso fosse linux allora la scelta è obbligatoria: php (in realtà avresti anche altre opzioni, ma non mettiamo troppa carne al fuoco)

    Perchè ti dico questo?
    Perchè prima di intraprendere la stesura di uno script è necessario sapere dove verrà allogiato lo stesso.

    Ipotiziamo che te hai un server linux con apache e php, lo script di pikadilly direi che è perfetto per il tuo scopo, perchè presenta tutte le caratteristiche per un buon mail form, dal controllo dei dati all'invio della mail.

    Passiamo al codice.
    Come ti è stato suggerito te necessariamente avere 2 pagine

    • la prima è la pagina dove è presente il form con le caselle di testo ed il pulsante per l'invio
    • la seconda è quella che elaborerà i dati ottenuti dalla prima ed invierà l'email.

    La prima pagina
    ipotiziamo che la prima pagina si chiami mail.htm e la seconda pagina,cioè quella che riceve i dati e li elaborerà si chiami pag2.php; avremo un codice simile a questo:

    MAIL.HTM:

    >
    <html>
        <body>
            <form id="form1" method="post" name="form1" action="pag2.php">
                Email <input type="text" name="mail" id="mail"/>
                <br/>
                Messaggio
                <textarea id="body" name="body"></textarea>
                <br/>
                <input type="submit" value="Invia"/>
            </form>
        </body>
    </html>
    
    >```PAG2.PHP
     
    

    <html>
    <body>
    <?
    //Questo è un commento in php e verrà utilizzato per commentare il codice per rendere più semplice la lettura.

        //adesso viene fatto un controllo sul campo body
        //il campo body ovviamente si trova nella pag mail.htm
        //con l'istruzione $_POST['body'] andremo a recuperare il valore del campo body, la stessa cosa vale per gli altri campi
        //la funzione trim() verrà utilizzata per togliere eventuali spazi a sx e a dx della stringa presente nel campo body
        if ((trim($_POST['body']) != "")){
        //la variabile $to conterrà il tuo indirizzo email
    

    $to = "[email protected]";
    //la variabile body conterrà il valore del campo body
    $body = $_POST['body'];
    //la variabile $headers contiene gli headers delle email, cioè una serie di istruzioni necessarie al corretto invio della mail
    $headers = "From: " . $_POST['mail'] . "\n";

        //viene inviata la mail
    

    mail($to,$body,$headers);
    echo"Il commento è stato inviato correttamente.";
    }else{
    //il controllo sul campo body ha dato esito negativo quindi viene mostrato il messaggio di errore
    echo "Errore, deve compilare il modulo per inviare un commento.";
    }
    ?>
    </body>
    </html>

    Spero che questa spiegzione ti sia di aiuto se hai qualche problema noi siamo qui 😉
    :ciauz:


  • User Newbie

    Dimenticavo un paio di cose. Oltre al fatto che il messaggio arriva nel campo oggetto della mia casella e-mail, il mittente appare sempre lo stesso, ovvero: [email protected] , mentre il reale indirizzo del mittente appare nel campo testo della mia casella e-mail. Cosa devo modificare nei form da voi inseriti? Grazie


  • User Newbie

    Ciao a tutti.. sono un novellino in questo campo quindi non so bene ancora dove mettere le mani.. Ho fatto il mio modulo e-mail da inserire nel sito internet però adesso non so come associare l'indirizzo e-mail ! qualcuno può aiutarmi ??? :?:?...
    e poi un'altra cosa.. Mi dice che devo fare un server ? ma a che serve ? come faccio ? Help me please

    P.S. : di quello che avete detto precedentemente non ci ho capito nulla :crying::crying::crying:

    Grazie a tutti in aticipo