• User Newbie

    help! modulo mail

    Ho un problemino con un codice php. mi aiutereste a capire l'errore? :mmm:
    Please.

    L'errore è:
    Parse error: parse error, unexpected T_ELSE in www\messaggio\send.php on line 36
    il codice (un action in un modulo contatti) invece:

    [php]<?PHP
    // Processo di recupero dei dati
    $nome = $_POST['nome'];
    $cognome = $_POST['cognome'];
    $citta = $_POST['citta'];
    $subject = $_POST['Runover'];
    $email = $_POST['email'];
    $messaggio = nl2br($POST['messaggio']);
    // Processo di controllo [Opzionale]
    if ($nome == null)
    {
    print "Errore: è necessario compilare il campo 'Nome e cognome'";
    }
    else
    {
    if ($cognome == null)
    {
    print "Errore: è necessario compilare il campo 'cognome'";
    }
    else
    {
    if ($citta == null)
    {
    print "Errore: è necessario compilare il campo 'citta'";
    }
    else
    {
    if (!eregi("^[a-z0-9][
    .a-z0-9-]+@([a-z0-9][0-9a-z-]+.)+([a-z]{2,4})", $email))
    {
    print "Errore: è Indirizzo e-mail inserito non è valido";
    }
    else
    {
    if ($messaggio == null)
    {
    print "Errore: è necessario compilare il campo 'Messaggio'";
    }
    else
    {
    print("<font size='13'>Invio E-Mail<br><br /></font>");
    print("<br />Questi sono i dati che hai inserito:<br /><br />
    Nome: <b>$Nome</b><br />
    Cognome: <b>$Cognome</b><br />
    Citta: <b>$Citta</b><br />
    E-mail: <b>$E-mail</b><br />
    Messaggio: <b>$messaggio</b>");
    // Processo di configurazione dell'email
    // [Destinatario, mittente, ecc]
    $mail_to = nome utente_at_tuodominio.it
    $mail_from = $email;
    $mail_subject = "Runover";
    $reply = $email;
    $mail_body = "<p><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, $reply))
    {
    print "Messaggio inviato con successo!";
    }
    else
    {
    print "Errore...torna indietro e riprova!";
    }
    }
    }
    }
    }
    }
    ?>[/php]
    Il modulo contatti, invece...

    [html]<form name="form1" method="post" action="send.php">
    <table width="95%" align="center" >
    <tr>
    <td colspan="2"><div align="center"><strong><font size="5">MODULO CONTATTI
    </font></strong></div></td>
    </tr>
    <tr>
    <td width="16%"><strong>Nome</strong></td>
    <td width="84%"><input type="text" name="nome"></td>
    </tr>
    <tr>
    <td><strong>Cognome</strong></td>
    <td><input type="text" name="cognome"></td>
    </tr>
    <tr>
    <td><strong>Città </strong></td>
    <td><input type="text" name="citta"></td>
    </tr>
    <tr>
    <td><strong>Indirizzo E-mail </strong></td>
    <td><input type="text" name="mail"></td>
    </tr>
    <tr>
    <td><strong>Testo</strong></td>
    <td><textarea name="testo" cols="40" rows="10"></textarea></td>
    </tr>
    <tr>
    <td colspan="2"> </td>
    </tr>
    <tr>
    <td colspan="2"> <div align="center">
    <input type="submit" name="Submit" value="Invia">
    <input type="reset" value="Cancella">
    </div></td>
    </tr>
    </table>
    </form>[/html]

    Grazie!
    Master


  • User Attivo

    Attento, il codice è molto disordinato!Perchè, invece di una serie di if ed else incatenati, non usi elseif?
    Inoltre, se devi fare dei controlli, usa die() invece di print, cosi l'esecuzione si blocca e non avrai più problemi!
    Così:
    [php]
    <?php
    $nome = $_POST['nome'];
    $cognome = $_POST['cognome'];
    $citta = $_POST['citta'];
    $messaggio = $_POST['testo'];
    $email = $_POST['mail'];

    if ($nome == null)
    {
    die( "Errore: è necessario compilare il campo 'Nome e cognome'");
    }
    elseif ($cognome == null)
    {
    die( "Errore: è necessario compilare il campo 'cognome'");
    }
    elseif ($citta == null)
    {
    die( "Errore: è necessario compilare il campo 'citta'");
    }

    if (!eregi("^[a-z0-9][_.a-z0-9-]+@([a-z0-9][0-9a-z-]+.)+([a-z]{2,4})", $email))
    {
    die( "Errore: è Indirizzo e-mail inserito non è valido");
    }

    if ($messaggio == null)
    {
    die( "Errore: è necessario compilare il campo 'Messaggio'");
    }

    print("<font size='13'>Invio E-Mail<br><br /></font>");
    print("<br />Questi sono i dati che hai inserito:<br /><br />
    Nome: <b>$nome</b><br />
    Cognome: <b>$cognome</b><br />
    Citta: <b>$citta</b><br />
    E-mail: <b>$email</b><br />
    Messaggio: <b>$messaggio</b><br />");
    // Processo di configurazione dell'email
    // [Destinatario, mittente, ecc]
    $mail_to = "[email protected]";
    $mail_from = $email;
    $mail_subject = "Runover";
    $reply = $email;
    $mail_body = "<p><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, $reply))
    {
    print "Messaggio inviato con successo!";
    }
    else
    {
    die ("Errore...torna indietro e riprova!");
    }
    ?>[/php]


  • User Newbie

    ciao Ilnetsurfer,
    ti ringrazio del celere aiuto e dei preziosi suggerimenti!
    non riuscivo a venirne a capo!
    grazie
    grazie 1000


  • User Attivo

    Prego, di niente!
    E' sempre piacevole aiutare!