• User Attivo

    Non riesco ad attivare il form per i contatti

    Cosa manca al mio form per essere attivo?
    i bottoni funzionano ma non spedisce le mail.
    Il sito non è ancora on - line

    HTML

    <div id="modulo"><form id="contact" method="post" action="invio.php">
      <div>
            <label for="email"></label>
        <div class="input-cont"><input type="text" id="email" name="email"></div>
        
        <label for="nome"></label>
        <div class="input-cont"><input type="text" id="nome" name="nome" size="20"></div>
        
        <label for="message"></label>
        <div class="input-cont"><input type="text" id="object" name="object"></div>
        
        <label for="message"></label>
        <div class="textarea-cont">
          <textarea id="message" name="message" rows=9 cols=20></textarea>
        </div>
        <button type="submit" id="go" value="invia">CLICK HERE</button>
      </div>
    </form> </div>
    
    
    </div>
    ```PHP
    
    
    
    

    <!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=iso-8859-1" />
    <title>Documento senza titolo</title>
    </head>

    <body>
    <?php
    // indirizzo di chi riceve la mail è sottolineato ma nel codice non sottilineatelo

    if ((trim($_POST['object']) != "") && (trim($_POST['body']) != "")) { //questo fa si che se i campi -oggetto- e "messaggio" sono vuoti la form non invia nessuna mail
    $to = "[email protected]";
    $headers = "From: " . $_POST['mail'] . "\n";
    // soggetto della mail
    $subject = "Modulo proveniente da www.tuosito.it";

    // corpo messaggio
    $body = "Contenuto del modulo:\n\n";

    $body .= "Inviata da: " . trim(stripslashes($_POST["mail"])) . "\n"; //indirizzo e-mail che manda la mail, come si vede riprende l'id del campo destinato all'inserimento della mail del mittente

    $body .= "Oggetto: " . trim(stripslashes($_POST["object"])) . "\n"; //oggetto del messaggio
    $body .= "testo: " . trim(stripslashes($_POST["body"])) . "\n"; //messaggio

    // invio mail
    mail($to, $subject, $body, $headers); // SE L'INOLTRO E' ANDATO A BUON FINE...

    echo "La mail è stata inviata con successo. Grazie per averci contattato";

    } else {// altrimenti
    echo "Deve compilare la form prima di inviare.";

    }

    ?>
    </body>
    </html>

    
    
    Quando invio la mail appare una pagina bianca e non succede nulla.

  • Consiglio Direttivo

    [html]<input type="text" id="email" name="email">
    <input type="text" id="nome" name="nome" size="20">
    <input type="text" id="object" name="object">
    <textarea id="message" name="message" rows="9" cols="20"></textarea>[/html]Dal tuo form tu invii i seguenti input:

    • email
    • nome
    • object
    • message

    E recuperi:
    $_POST['object']
    $_POST['body']
    $_POST['mail']

    E' strano che ti dia pagina bianca dato che $_POST['body'] è vuoto, dovrebbe darti "Deve compilare la form prima di inviare.", ma comunque dovresti sistemare i name dell'input recuperato. 😉