Collegare un modulo contatti PHP su un modulo contatti HTML

  • Creatore Discussione Creatore Discussione ecosito
  • Data di inizio Data di inizio

ecosito

Utente Attivo
9 Nov 2015
54
0
6
Ciao a tutti, ho seguito un tutorial per creare un modulo contatti in PHP, funziona tutto. Il fatto è che io vorrei far funzionare il mio modulo contatti la cui struttura è sul file index.html (HTML5, è l'homepage).

Ora come ora succede che:
- l'utente compila i campi del modulo contatti del file index.html
- si apre in blank la pagina contatti.php con i campi vuoti da compilare nuovamente
- se si compila contatti.php il messaggio arriva.

Nel caso qualcuno mi potesse aiutare incollo il codice del modulo contatti del file index.html:

Codice:
</div>
				<p>&nbsp;</p>
			  <p>.</p>
				<div class="col-md-12">					
				  <h2 class="col-md-1 col-sm-1">&nbsp;</h2>
                  <h2 class="col-md-1 col-sm-1">&nbsp;</h2>
			  </div>
			  <div><h2 class="title">Inviaci un <strong>messaggio:</strong></h2></div>
				<div class="col-md-10 col-sm-10">
					<form action="contatti.php" method="post" id="formYIW">
					  <div class="col-md-6 col-sm-6">
							<input class="form-control" type="text" placeholder="Nome e Cognome">
						</div>
					  <div class="col-md-6 col-sm-6">
							<input class="form-control" type="email" placeholder="Indirizzo eMail">
						</div>
						<div class="col-md-12 col-sm-12">
							<input class="form-control" type="text" placeholder="Scrivi l'oggetto del messaggio">
							<textarea class="form-control" placeholder="Scrivi qui il tuo messaggio da inviare a PUCA" rows="6"></textarea>
						</div>
						<div class="col-md-offset-2 col-md-8 col-sm-offset-2 col-sm-8">
							<input class="form-control" type="submit" value="INVIA">
						</div>
				  </form>
			  </div>



Ed ora incollo il codice del file contatti.php:

Codice:
<!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 PUCA</title>
   <link rel="stylesheet" type="text/css" href="css/templatemo-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>
 

Discussioni simili