Visualizzazione risultati 1 fino 9 di 9

Discussione: [php] errore form mail

  1. #1
    L'avatar di EmoArt
    EmoArt non è connesso Utente attivo
    Data registrazione
    19-03-2007
    Messaggi
    384

    Question [php] errore form mail

    aiuto! dando un occhiata in giro ho cercaro di creare un form per l'invio delle email alla mia casela di posta, ma non funziona ho cercato nel forum ma a quanto pare anche se sembra semplice hanno difficoltà un pò tutti i principianti.
    Quando provo a scrivere un messaggio di prova mi dice che manca un file, ma non sò di che file parla!!! sapreste dirmi dove ho sbagliato?

  2. #2
    Guest

    Predefinito

    guarda quì:
    http://it2.php.net/manual/it/function.mail.php

    c' scritto tutto

    ciao

  3. #3
    L'avatar di EmoArt
    EmoArt non è connesso Utente attivo
    Data registrazione
    19-03-2007
    Messaggi
    384

    Predefinito

    già letto,grazie ma non mi è servito

  4. #4
    baccante non è connesso Neofita
    Data registrazione
    30-05-2008
    Messaggi
    23

    Predefinito

    Non sono sicuro di poterti aiutare...

    ma qualche info in più sul codice che hai scritto aiuterebbe molto ^^

  5. #5
    L'avatar di seneca
    seneca non è connesso Super Moderatore
    Data registrazione
    18-12-2004
    Residenza
    la Città Eterna
    Messaggi
    8,376

    Predefinito

    Infatti... posta codice ed errore.


    -- Aut Roma Aut Nihil!

  6. #6
    L'avatar di EmoArt
    EmoArt non è connesso Utente attivo
    Data registrazione
    19-03-2007
    Messaggi
    384

    Question

    questa è la pagina in htm che contiene il form per inviare i dati
    Codice HTML:
    <html>
    <body>
    <form name="mail" action="contatti.php" method="post">
    Il tuo nome: <input type="text" name="nome"><br>
    La tua e-mail: <input type="text" name="mitt"><br>
    <textarea name="text" cols="25" rows="5">Inserisci il testo del messaggio</textarea>
    <input type="hidden" name="dest" value="esempio@yahoo.it">
    <input type="hidden" name="ogg" value="Mail dal sito"><br>
    <input type="submit" value="invia">
    </form>
    </body>
    </html>
    questo è il codice in php
    Codice PHP:
    <?PHP
    #Specifica la tua mai e quella del destinatario
    $mail_mittente = "mittente@sito.com";
    $mail_destinatario = "fighter-one@hotmail.com";

    #specifica il subject ed il body della mail
    $mail_oggetto = "Messaggio di prova";
    $mail_corpo = "Questo è un messaggio di prova per testare la mia applicazione";

    if (
    mail($mail_destinatario, $mail_oggetto, $mail_corpo, "From: $mail_mittente"))
    echo
    "Messaggio inviato con successo a $mail_destinatario";
    else
    echo
    "Errore. Nessun messaggio inviato.";
    ?>
    ho sistemato la cosa più importante, cioè che adesso spedisce le mail (il codice in php andava in un file diverso da quello in cui cè il form .
    Ora ci sono diversi ritocchi da fare:
    1° la scritta "messaggio inviato con successo a...."spunta sotto il form
    2° sempre la stessa scritta, appare pure dopo l'invio del messaggio in una pagina bianca (dovrei farla sembrare più attinente al sito) e si blocca, come posso far tornare indietro il navigatore? in questo modo lui può solo cliccare il tasto indietro del brawser
    3° errori vari o codici superflui perchè ho copiato alcuni esempi dalla rete per rendermi conto di come funziona, chiaramente ci sono stringhe che forse non mi servono o impostate male (dovrei fare un pò di pulizia)
    Ultima modifica di EmoArt : 28-09-2008 alle ore 19.35.36 Motivo: ho diviso il codice

  7. #7
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Se la pagina contiene del codice PHP (come in questo caso) per fa si che funzioni l'estensione deve essere obbligatoriamente .php, prova cosi:
    Codice PHP:
    <html>
    <head>
    <title>Untitled</title>
    </head>
    <body>
    <?php if(empty($_POST['text'])) { ?>
    <form name="mail" action="contatti.php" method="post">
    Il tuo nome: <input type="text" name="nome"><br>
    La tua e-mail: <input type="text" name="mitt"><br>
    <textarea name="text" cols="25" rows="5">Inserisci il testo del messaggio</textarea>
    <input type="hidden" name="dest" value="esempio@yahoo.it">
    <input type="hidden" name="ogg" value="Mail dal sito"><br>
    <input type="submit" value="invia">
    </form>
    <?php
    }else{
    #Specifica la tua mai e quella del destinatario
    $mail_mittente = "mittente@sito.com";
    $mail_destinatario = "fighter-one@hotmail.com";

    #specifica il subject ed il body della mail
    $mail_oggetto = "Messaggio di prova";
    $mail_corpo = "Questo è un messaggio di prova per testare la mia applicazione";

    if (
    mail($mail_destinatario, $mail_oggetto, $mail_corpo, "From: $mail_mittente"))
    echo
    "Messaggio inviato con successo a $mail_destinatario";
    else
    echo
    "Errore. Nessun messaggio inviato.";
    }
    ?>

    </body>
    </html>
    Apprezzi l'aiuto? Offrimi un caffè!

  8. #8
    baccante non è connesso Neofita
    Data registrazione
    30-05-2008
    Messaggi
    23

    Predefinito

    Per farlo funzionare coni dati inseriti dall'utente e non quelli inseriti per la prova e con un allert javascript che segnala se la mail è stata inviata correttamente o meno (sono quei piccoli dettagli che hanno il loro perchè )

    Codice PHP:
    <html>
    <head>
    <title>Untitled</title>
    </head>
    <body>

    <form name="mail" action="contatti.php" method="post">
    Il tuo nome: <input type="text" name="nome"><br>
    La tua e-mail: <input type="text" name="mittente"><br>
    oggetto: <input type="text" name="oggetto"><br>
    <textarea name="text" cols="25" rows="5">Inserisci il testo del messaggio</textarea>
    <input type="submit" value="invia">
    </form>

    <?php
    if(!empty($_POST['text'])) {

    #Specifica la tua mai e quella del destinatario
    $mail_mittente = $_POST['mittente'];
    $mail_destinatario = "fighter-one@hotmail";

    #specifica il subject ed il body della mail
    $mail_oggetto = $_POST['oggetto'];
    $mail_corpo = $_POST['text'];

    //aggiungi una sorta di firma in calce alla mail utilizzando il nome inserito
    $mail_corpo .= "\n\n\nFrom: " . $_POST['nome'];

    if (
    mail($mail_destinatario, $mail_oggetto, $mail_corpo, "From: $mail_mittente")){
    echo
    "<script language='JavaScript'>";
    echo
    "alert('Messaggio inviato con successo a $mail_destinatario')";
    echo
    "</script>";
    } else{
    echo
    "<script language='JavaScript'>";
    echo
    "alert('Errore. Nessun messaggio inviato.')";
    echo
    "</script>";
    }
    }
    ?>

    </body>
    </html>
    Ultima modifica di baccante : 28-09-2008 alle ore 20.15.55

  9. #9
    L'avatar di EmoArt
    EmoArt non è connesso Utente attivo
    Data registrazione
    19-03-2007
    Messaggi
    384

    Predefinito

    per utilizzare questo script devo modificare anche il form html giusto? (ancora mi viene un pò complicato decodificare tutte le stringhe del php leggendole...un pò di pratica scusate,l'ignoranza)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •