Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Problema con script form mail.

    Premetto che di php ho basi poco solide, non sono una cima...Questo script mi fà impazzire. Infatti:
    l'email mi arriva alla casella di posta ma il mittente non corrisponde a quello del campo inserito nel form.
    Inoltre appena apro la pagina mi appare già il messaggio "Errore: è necessario compilare il campo 'Nome e cognome"

    Ecco lo script, per favore potrei avere una mano? grazie

    <html>
    <head>
    <title>Email</title>
    </head>
    <body>

    <p align="center">
    <form method="post" action="form.php">
    Nome

    <input type="text" name="nome">

    Email

    <input type="text" name="email">

    Messaggio

    <textarea name="testo" rows="5" cols="25"></textarea>


    <input type="submit" value=" Invia ">
    </form>
    </p>

    <?PHP
    // Processo di recupero dei dati
    $nome = $_POST['nome'];
    $email = $_POST['email'];
    $messaggio = nl2br($_POST['testo']);

    // Processo di controllo [Opzionale]
    if ($nome == null)
    {
    print "Errore: &egrave; necessario compilare il campo 'Nome e cognome'";
    }
    else
    {
    if (!eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})", $email))
    {
    print "Errore: &egrave; necessario compilare il campo 'Indirizzo e-mail'";
    }
    else
    {
    if ($messaggio == null)
    {
    print "Errore: &egrave; necessario compilare il campo 'Messaggio'";
    }
    else
    {
    // Processo di configurazione dell'email
    // [Destinatario, mittente, ecc]
    $mail_to = "mmdj2107@libero.it";
    $mail_from = $email;
    $mail_subject = "Contatto dal web da parte di $nome";
    $mail_body = "

    <font color=#000000>$messaggio</font></p>";
    // Intestazioni HTML
    $mail_in_html = "MIME-Version: 1.0\r\n";
    $mail_in_html .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $mail_in_html .= "From: <$mail_from>";
    // Processo di invio
    if (mail($mail_to, $mail_subject, $mail_body, $mail_in_html))
    {
    print "Email inviata con successo!";
    }
    else
    {
    print "Errore";
    }
    }
    }
    }
    ?>

    </body>
    </html>

  2. #2
    Prego chiunque ne abbia la possibilità di aiutarmi. Per favore dovrei mettere il mio sito online e mi manca solo il form. Per favore. Ho letto le varie discussioni ma solo una parla del mio problema in maniera specifica senza eprò fornire la soluzione. Attendo fiducioso una vodtra risposta. grazie

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    30
    Devi invertire gli script e dire a php di eseguire l'invio solo se i campi non sono vuoti...prova così...
    <?PHP
    // Processo di recupero dei dati
    if (isset($_POST['nome']) AND !empty($_POST['nome']) AND isset($_POST['email']) AND !empty($_POST['email']) AND isset($_POST['testo']) AND !empty($_POST['testo'])) {
    $nome = $_POST['nome'];
    $email = $_POST['email'];
    $messaggio = nl2br($_POST['testo']);

    // Processo di controllo [Opzionale]
    if ($nome == null)
    {
    print "Errore: è necessario compilare il campo 'Nome e cognome'";
    }
    else
    {
    if (!eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})", $email))
    {
    print "Errore: è necessario compilare il campo 'Indirizzo e-mail'";
    }
    else
    {
    if ($messaggio == null)
    {
    print "Errore: è necessario compilare il campo 'Messaggio'";
    }
    else
    {
    // Processo di configurazione dell'email
    // [Destinatario, mittente, ecc]
    $mail_to = "mmdj2107@libero.it";
    $mail_from = $email;
    $mail_subject = "Contatto dal web da parte di $nome";
    $mail_body = "

    <font color=#000000>$messaggio</font></p>";
    // Intestazioni HTML
    $mail_in_html = "MIME-Version: 1.0\r\n";
    $mail_in_html .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $mail_in_html .= "From: <$mail_from>";
    // Processo di invio
    if (mail($mail_to, $mail_subject, $mail_body, $mail_in_html))
    {
    print "Email inviata con successo!";
    }
    else
    {
    print "Errore";
    }
    }
    }
    }
    } else {
    ?>

    <html>
    <head>
    <title>Email</title>
    </head>
    <body>

    <p align="center">
    <form method="post" action="form.php">
    Nome

    <input type="text" name="nome">

    Email

    <input type="text" name="email">

    Messaggio

    <textarea name="testo" rows="5" cols="25"></textarea>


    <input type="submit" value=" Invia ">
    </form>
    </p>

    </body>
    </html>
    <?
    }
    ?>

  4. #4
    Grazie per la risposta...molto gentile.

    Mi spiace ma anche lo script che mi hai postato non funziona. Mi rimanda ad una pagina form.php. Inoltre io avevo il problema di ricevere le mail cha avevano come mittente il sito e non il campo email del form.

    Spero tu mi possa aiutare in qlke altro modo...
    Grazie cmq per adesso.!

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.