Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Form contatto in php

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2003
    residenza
    Prato
    Messaggi
    687

    Form contatto in php

    Salve
    Ho trovato un form di contatto in php che potrebbe essermi utile però ha un problema..
    L'e-mail che mando da li arriva a chi compila il form non al destinatario nonostante io abbia impostato l'email del form.

    Questo è il form: http://www.luxury-italian-office.com...w/contatti.php

    Questo è il codice del file setting.php:

    Codice PHP:
    <?phpini_set('display_errors''On');ini_set('error_reporting'E_ALL & ~E_NOTICE);//email del destinatario del form//$destinatario = 'wordpress@luxury-italian-office.com';//oggetto dell'email inviata$oggetto = 'Mail dal modulo contatti articolo YIW';

    //Messaggio d'errore per campi mancanti//Error message for missing fields$error_missing_fields= 'Per favore, completate tutti i campi del form indicati';//Messaggio d'errore del server mail//Error message for mail server$error_mail_server = 'Siamo spiacenti. Si &egrave; verificato un errore e     l\'email non &egrave; stata inviata. Riprovate pi&ugrave; tardi.';//Messaggio di conferma invio mail//Info message for correct mail sent$info_mail_sent = 'L\'email è stata inviata correttamente!.';

    /* Se il form è stato inviato, elenca i campi che ci si aspetta di ricevere.   Evita che qualcuno possa aggiungere dei campi non previsti */
    $expected = array('nome','email','sito','messaggio');//imposta i campi obbligatori$required = array('nome','email','messaggio');//crea un array vuoto per i campi mancanti$missing = array();   ?>
    Questo del file form.php:

    codice HTML:
    <form action="<?php basename($_SERVER['PHP_SELF']) ?>" method="post" id="formYIW">  <fieldset>    <legend><span>Inviaci un messaggio</span></legend>    <ol><li><label for="nome">Nome <abbr title="campo obbligatorio">*</abbr></label>        <input type="text" name="nome" id="nome" tabindex="1"	       value="<?php if ( isset( $missing ) && isset($nome) ) echo $nome; ?>"	       class="<?php if (isset( $missing ) && in_array('nome',$missing))			echo 'error';	       ?>"/>      </li>      <li>        <label for="email">Email <abbr title="campo obbligatorio">*</abbr></label>        <input type="text" name="email" id="email" tabindex="2"	       value="<?php if ( isset( $missing ) && isset($email) ) echo $email; ?>"	       class="<?php if (isset( $missing ) && in_array('email',$missing))			echo 'error';	       ?>"/>      </li>      <li>        <label for="sito">Sito web</label>        <input type="text" name="sito" id="sito" tabindex="3"	       value="<?php if ( isset( $missing ) && isset($sito) ) echo $sito; ?>"	       class="<?php if (isset( $missing ) && in_array('sito',$missing))			echo 'error';	       ?>"/>      </li>      <li>        <label for="messaggio">Messaggio <abbr title="campo obbligatorio">*</abbr></label>        <textarea name="messaggio" id="messaggio" rows="10" cols="30" tabindex="4"	class="<?php if (isset( $missing ) && in_array('messaggio',$missing))			echo 'error';	       ?>"><?php if ( isset( $missing ) && isset($messaggio) ) echo $messaggio; ?></textarea>      </li>    </ol>  </fieldset>  <p class="controls">   <input type="submit" name="submit" id="submit" value="Invia Mail" tabindex="5" />  </p></form>
    Questo del file principale contatti.php:

    codice HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Modulo contatti in PHP | Your Inspiration Web</title>
    <link rel="stylesheet" type="text/css" href="stile.css" />
    </head>
    <body>
    <?php
    require_once 'settings.php';
    if(isset($_POST['submit'])){
    foreach ($_POST as $key => $value){
    //elimina eventuali spazi aggiuntivi
    $temp = $value ? trim($value) : '';
    //se è richiesta ma vuota aggiungila all'array missing
    if(!strlen ($temp) && in_array($key, $required)){
    array_push($missing, $key);
    }
    //se il campo è aspettato, setta la variabile associata
    elseif(in_array($key, $expected)){
    ${$key} = htmlentities($temp); //in questo caso crea $nome, $email, $sito, $commento
    }
    }
    if ( empty($missing) ){
    //Se l'array missing è vuoto, vuol dire che sono stati inseriti i valori
    //obbligatori. Costruisco il messaggio 
    $contenuto_email = "Nome: $nome\n\n"; //Queste variabili sono create nel passaggio precedente
    $contenuto_email .= "Email: $email\n\n";
    $contenuto_email .= "Sito Web: $sito\n\n";
    $contenuto_email .= "Messaggio:\n $messaggio\n\n";
    //limita la lunghezza a 70 caratteri per la compatibilità
    $contenuto_email = wordwrap($contenuto_email,70);
    //invia l'email 
    $mail_sent = mail($email,$oggetto,$contenuto_email, 'From: '.$email);
    $info_message = '<p class="info">' . $info_mail_sent . '</p>';
    if($mail_sent){
    //Se l'email viene inviata l'array missing non serve più quindi lo svuoto
    unset($missing);
    }
    }
    }
    //se non sono stati immessi campi obbligatori
    if ( isset( $_POST['submit'] ) && isset($missing) && !empty($missing)) :
    $info_message = '<p class="error">' . $error_missing_fields . '</p>';
    elseif ($_POST['submit'] && !$mail_sent) :
    //se ci sono stati problemi con l'invio della mail da parte del server
    $info_message = '<p class="error">' . $error_mail_server . '</p>';
    endif;
    
    
    
    
    //Mostra una notifica sia d'errore che di conferma
    if ( isset( $info_message ) && strlen( $info_message ) ) echo $info_message;
    //Include il form
    require_once 'form.php';
    ?>
    </body>
    </html>
    Ultima modifica di Artgallery75; 12-04-2016 a 18:26

Tag per questa discussione

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.