Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,199

    form invio mail con PHPMailer non funziona

    Ciao raga mi date una mano,

    ho creato il solito form di invio di dati, per fare questo sto utilizzando PHPMailer.

    Il problema è che mi invia l'email, ma mi arriva con i campi vuoti.

    Chiaramente inutile dirvi che nella stessa directory dove sono le pagine ho messo la cartella PHPMailer (altrimenti chiaramente non funzionerebbe neanche l'invio).

    Vi indioc in basso il codice della pagina html e della pagina php per l'invio.

    Il codice della pagina html è questo:

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Documento senza titolo</title>
    </head>
    <body>
    <form name="contatti" action="send.php">
    Nome (*):
    
    <input name="nome" type="text" class="campicontatti" id="nome" />
    
    Cognome (*):
    
    <input name="cognome" type="text" class="campicontatti" id="cognome" size="0" />
    
    E-Mail (*):
    
    <input name="email" type="text" class="campicontatti" id="email" size="0" />
    
    Messaggio (*):
    
    <textarea name="messaggio" rows="6" class="textarea" id="messaggio"></textarea>
    
    <input name="submit" type="submit" class="button" id="submit" value="Invia">
    <input name="cancella" type="reset" class="button" value="Cancella" />
    </form>
    </body>
    </html>
    e questo è quello della pagina per l'invio

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Documento senza titolo</title>
    </head>
    <body>
    <table width="794" border="0" class="testo">
    <tr>
    <td align="center">
    <?php 
    
    
    /*$mailheader = "From: $email
    "; 
    $mailheader .= "Reply-To: $email
    "; 
    $mailheader .= "MIME-Version: 1.0
    "; 
    mail($recipient, $subject, $formcontent, $mailheader) or die("Non &egrave; stato possibile inoltrare il suo messaggio."); */
    echo "Il suo messaggio &egrave; stata inoltrata con successo. Le risponderemo quanto prima."; 
    
    
    
    #PHPMAILER
    //vars
    $mittente = "Prova invio";
    $mittente_email = "marcogravina@gmail.com";
    $oggetto = "Prova invio"; 
    $messaggio ="
    Nome: $nome 
    
    
    Cognome: $cognome 
    
    
    E-mail: $email 
    
    
    Messaggio: $messaggio 
    
    
    ";
    
    //classe	
    include("PHPMailer/class.phpmailer.php");
    
    $mail = new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch
    try {
    $mail->SetFrom($mittente_email, $mittente);
    $mail->AddAddress($mittente_email);
    $mail->AddReplyTo($mittente_email, $mittente);
    $mail->Subject = $oggetto;
    $mail->MsgHTML($messaggio);
    
    
    //invio
    $mail->Send();
    //echo "Message Sent OK</p>\n";
    
    } catch (phpmailerException $ex) {
    echo "errore 1 
    ";
    echo $ex->errorMessage(); //Pretty error messages from PHPMailer
    } catch (Exception $ex) {
    echo "errore 2 
    ";
    echo $ex->getMessage(); //Boring error messages from anything else!
    }
    unset($mail);
    #PHPMAILER	
    
    ?>
    </td>
    </tr>
    </table>
    </body>
    </html>

  2. #2
    Ciao,
    almeno a prima vista ci sono un paio di errori che sono:

    codice:
    <form name="contatti" action="send.php">
    Oltre ad indicare l'action devi indicare il method che può essere post o get.

    Nella pagina poi dove ricevi i dati devi recuperarli, se invii via get recuper i dati in get altrimenti in post.

    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,199
    francescocorr come mi dicevi ho aggiunto il method al tag form (effettivamente l'avevo dimenticato prorpio), adesso è:

    <form name="contatti" action="send.php" method="post">

    ma come prima ricevo l'email così

    Nome:

    Cognome:

    E-mail:

    Messaggio:

    e i contenuti non ci sono


  4. #4
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,199
    raga qualche indicazione su come mai non mi scrive i dati nella mail??

  5. #5

    Re: form invio mail con PHPMailer non funziona

    Originariamente inviato da markgrav
    codice:
    ...
    #PHPMAILER
    //vars
    $mittente = "Prova invio";
    $mittente_email = "marcogravina@gmail.com";
    $oggetto = "Prova invio"; 
    $messaggio ="
    Nome: $nome 
    
    
    Cognome: $cognome 
    
    
    E-mail: $email 
    
    
    Messaggio: $messaggio 
    
    
    ";
    ...
    ... e dov'è che recuperi le variabili $nome, $cognome, $email e $messaggio ?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,199
    sono i nomi dei campi... solitamente faccio così nn va bene?

    Cmq per farmi aiutare meglio:

    ho zippato i file se li voelte vedere

    http://www.marcogravina.it/download/form.zip

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.