• User

    [Dreamweaver] Pulsante Invio da collegare ad email

    Ciao... ho un bel problema...
    Sto utilizzando un pagina modulo in Dreamweaver 8, mi occorre per ricevere i commenti riguardo il sito... Il fatto è che non ho idea di come collegare il pulsante "invio" alla mia e.mail

    <input type="submit" name="Submit" value="Send" />

    Questa è la stringa di codice che corrisponde al pulsante....

    Spero di essere riuscita a spiegarmi...


  • Super User

    Ciao Swamy,
    per fare ciò che desideri ti serve un applicazione lato server tipo php o asp.
    C'è una prima pagina con la form e una seconda pagina che processa il tutto e te lo invia.
    Non si stabilisce dal pulsante l'invio ma dalla stringa :
    <form id="form1" name="form1" method="post" action="pag2.php">
    dopo l'action metti il nome della pagina che processera le informazioni immesse nella form e te le invierà...
    In pag2.php inserisci questo nel body nel caso tu non voglia che si invii un modulo non compilato:

    [php] <?php
    if ((trim($_POST['body']) != "")) {
    $to = "[email protected]";
    $body = $_POST['body'];
    $headers = "From: " . $_POST['mail'] . "\n";
    mail($to,$object,$body,$headers);
    echo"Il commento è stato inviato correttamente.";
    }
    else {
    echo "Errore, deve compilare il modulo per inviare un commento.";
    }
    ?>[/php]Le parole scritte in rosso sono i nomi dei campi che in dreamweaver sono sotto la voce "campo di testo" nella finestra proprietà.
    La riga in grassetto è la mail di chi ti invia il commento.
    Se non imposti i giusti nomi l'applicazione in php non riuscirà a mandarti la mail.
    Questo è una form per l'invio delle mail, quindi la puoi usare anche per farti inviare dal sito una mail.
    😄


  • User

    @pikadilly said:

    Ciao Swamy,
    per fare ciò che desideri ti serve un applicazione lato server tipo php o asp.
    C'è una prima pagina con la form e una seconda pagina che processa il tutto e te lo invia.
    Non si stabilisce dal pulsante l'invio ma dalla stringa :
    <form id="form1" name="form1" method="post" action="pag2.php">
    dopo l'action metti il nome della pagina che processera le informazioni immesse nella form e te le invierà...
    In pag2.php inserisci questo nel body nel caso tu non voglia che si invii un modulo non compilato:

    [php] <?php
    if ((trim($_POST['body']) != "")) {
    $to = "[email protected]";
    $body = $_POST['body'];
    $headers = "From: " . $_POST['mail'] . "\n";
    mail($to,$object,$body,$headers);
    echo"Il commento è stato inviato correttamente.";
    }
    else {
    echo "Errore, deve compilare il modulo per inviare un commento.";
    }
    ?>[/php]Le parole scritte in rosso sono i nomi dei campi che in dreamweaver sono sotto la voce "campo di testo" nella finestra proprietà.
    La riga in grassetto è la mail di chi ti invia il commento.
    Se non imposti i giusti nomi l'applicazione in php non riuscirà a mandarti la mail.
    Questo è una form per l'invio delle mail, quindi la puoi usare anche per farti inviare dal sito una mail.
    😄

    Grazie sei stata gentilissima ... ma non ho idea di cosa sia il php... non so dove metter le mani.
    So visualizzare il codice della pagina, dove devo inserire le cose che mi hai detto?


  • Super User

    [php]<?php
    if ((trim($_POST['body']) != "")) {
    $to = "[email protected]";
    $body = $_POST['body'];
    $headers = "From: " . $_POST['mail'] . "\n";
    mail($to,$body,$headers);
    echo"Il commento è stato inviato correttamente.";
    }
    else {
    echo "Errore, deve compilare il modulo per inviare un commento.";
    }
    ?>[/php]Il codice giusto è questo, scusami.:D
    Tuttavia devi rinominare i campi del modulo con i nomi seguenti:
    il corpo del messaggio sarà body
    l'indirizzo e-mail di chi ti manda il commento è mail.

    Nella seconda pagina che contiene il codice che ti ho scritto sopra (io l'ho chiamata pg2.php, ricordati che va nell'action del modulo) devi cambiare questo "[email protected]" con il tuo indirizzo di posta.

    Ricorda: una pagina con il modulo(es.pag1.html) e un'altra con l'applicazione in php (es.pag2.php)che va inserita dove vuoi, anche nei tag body.
    Ah, per provarla devi usare il server remoto, in locale non funziona a meno che tu non abbia un server installato nel tuo pc, che comunque non ti permetterà di inviare la mail...ma per non confonderti usa il sito remoto 😉


  • User

    Allora...
    ho dato uno sguardo al codice della pagina / modulo... dove ho trovato mailto: ho inserito il mio indirizzo di posta e in effetti ho ricevuto la mail ma il contenuto è un allegato POSTDATA.ATT..... lo clicco e mi compare il messaggio.... "Il file non è associato a nessun programma per l'esecuzione dell'operazione. Creare un associazione in azioni cartella nel pannello di controllo"


  • Super User

    Nel caso dell'utilizzo di php il mailto non serve 😉


  • User

    Il PHP presumo sia un codice tipo l'html.... tu mi parli di 2 pagine, una in html...che credo sia quella presente in dreamweaver ovvero il Form...ma la seconda dov'è...


  • Super User

    La devi creare tu.
    File-nuovo e poi scegli estensione php e lì dentro metti il codice che ti ho dato tra i tag body.


  • User

    Ho creato una nuova pagina .php all'interno dei tag <body> ho copiato il codice che mi hai dato, ho inserito la mia email dopo mail...adesso che ne faccio di questa pagina...cosa significa che deve far parte dell'action script


  • Super User

    Hai le due pagine da farmi vedere?:)


  • User

    si come posso fare per inviartele?


  • Super User

    Non le hai sul server remoto? Nel senso, non puoi postare i link?? 🙂


  • User

    Scusami....ma così poi chiunque cliccandoci sopra entrerà nelle mie pagine? cavoli non mi è chiaro...qui vedo che posso allegare solo file .jpg e simili ok ci provo... ho inserito gli allegati ma nell'anteprima messaggio non li vedo


  • 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.
    🙂