Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Form Mail

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    75

    Form Mail

    Ciao, ho riscritto il codice che allego ma non riesco a far funzionare ne i controlli sui campi ne l'invio...

    Qualcuno mi può aiutare?

    Grazie mille

    FORM HTML

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>

    <body>
    <form action="./mail.php" method="POST">
    <table border="0">
    <tr>
    <td>Nome</td>
    <td><input type="text" name="Nome" size="50"></td>
    </tr>
    <tr>
    <td>Email</td>
    <td><input type="text" name="Email" size="50"></td>
    </tr>
    <tr>
    <td>Oggetto</td>
    <td><input type="text" name="Oggetto" size="50"></td>
    </tr>
    <tr>
    <td valign="top">Messaggio</td>
    <td><textarea rows="8" name="Messaggio" cols="60"></textarea></td>
    </tr>
    <tr>
    <td colspan="2" valign="bottom" align="center" height="30">
    <input type="submit" value="Invia">
    <input type="reset" value="Cancella"></td>
    </tr>
    </table>
    </form>
    </body>
    </html>



    SCRIPT PHP:



    <?php

    // L'INDIRIZZO DEL DESTINATARIO DELLA MAIL
    $to = "XXXXXXX@XXXXXXXXX.it";

    // IL SOGGETTO DELLA MAIL
    $subject = "CONTATTO DA XXXXXXXXX";

    // COSTRUIAMO IL CORPO DEL MESSAGGIO

    $nome=$_POST['Nome'] ;
    $email=$_POST['Email'];
    $oggetto=$_POST['Oggetto'];
    $messaggio=$_POST['Messaggio'];

    // INTESTAZIONI SUPPLEMENTARI
    $headers = "From: Modulo utenti<XXXXXXXXX>";

    // INVIO DELLA MAIL

    if (empty($nome))
    $error = true;
    {
    echo "Spiacenti, campo Nome vuoto!
    ";
    }
    if (empty($email))
    $error = true;
    {
    echo "Spiacenti, campo Email vuoto!
    ";
    }
    if (empty($oggetto))
    $error = true;
    {
    echo "Spiacenti, campo Oggetto vuoto!
    ";
    }
    if (empty ($messaggio))
    $error = true;
    {
    echo "Spiacenti, Messaggio vuoto!
    ";
    $error = true;
    }
    if
    (!$error) {
    mail($to, $subject, $nome, $email, $oggetto, $messaggio, $headers);// SE L'INOLTRO È ANDATO A BUON FINE...

    echo "La mail è stata inoltrata con successo.
    ";

    }

    ?>

  2. #2
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    in che senso non funziona?
    Quando fai il submit cosa ti compare a video?

    prova a variare l'action action="./mail.php" in action="mail.php" mettendoli sotto la stessa directory.

    Altrimenti descrivi il comportamente che hai e cosa vedi a video
    Che mestiere difficile.....essere da soli ancora di più

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    75
    Ciao, ho provato come dicevi ma dopo aver "inviato" mi dice sempre:

    Spiacenti, campo Nome vuoto!
    Spiacenti, campo Email vuoto!
    Spiacenti, campo Oggetto vuoto!
    Spiacenti, Messaggio vuoto!

    indipendentemente da quello che c'è o non c'è nei campi...

    e l'email non parte...

  4. #4
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    Determine whether a variable is considered to be empty. A variable is considered empty if it does not exist or if its value equals FALSE. empty() does not generate a warning if the variable does not exist.

    Da manuale PHP

    Prima proprio non ho visto :
    Codice PHP:
    if (empty ($messaggio))
    $error true;
    {
    echo 
    "Spiacenti, Messaggio vuoto! 
    "
    ;
    $error true;

    Non penso proprio sia corretto settare $error dopo if aprire parentesi ecc ecc

    Codice PHP:
    if (empty ($messaggio))
    {
    echo 
    "Spiacenti, Messaggio vuoto! 
    "
    ;
    $error true;

    Altrimenti prova cosi (Ovviamente in tutti i controlli)

    Codice PHP:
    if (TRIM($messaggio) == "")
    {
    echo 
    "Spiacenti, Messaggio vuoto! 
    "
    ;
    $error true;

    Che mestiere difficile.....essere da soli ancora di più

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    75
    Ciao, così i controlli vengono eseguiti in modo corretto ma quando sono validati e appare il messaggio di email inviata la mail non arriva.

    Ho provato senza esito a sostituire:

    if
    (!$error) {
    mail($to, $subject, $nome, $email, $oggetto, $messaggio, $headers);// SE L'INOLTRO È ANDATO A BUON FINE...

    echo "La mail è stata inoltrata con successo.
    ";

    }


    con:


    else
    {
    mail($to, $subject, $nome, $email, $oggetto, $messaggio, $headers);// SE L'INOLTRO È ANDATO A BUON FINE...
    echo "La mail è stata inoltrata con successo.
    ";

    }

  6. #6
    Utente di HTML.it L'avatar di Fractals87
    Registrato dal
    Apr 2008
    Messaggi
    1,202
    Allora qui il problema è un'altro....

    Per inviare mail ci si deve appoggiare ad un server mail.
    Utilizzando la funzione mail() devi andare nel php.ini e configurare i rispettivi parametri.

    Questo è stato fatto?

    inoltre il controllo di invio mail deve essere eseguito in questo modo :

    Codice PHP:
    if(!mail($to$subject$nome$email$oggetto$messaggio$headers))
    echo 
    "Mail inviata";
    else
    echo 
    "Errore invio mail"
    Che mestiere difficile.....essere da soli ancora di più

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 © 2024 vBulletin Solutions, Inc. All rights reserved.