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:
Ed ora incollo il codice del file contatti.php:
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> </p>
<p>.</p>
<div class="col-md-12">
<h2 class="col-md-1 col-sm-1"> </h2>
<h2 class="col-md-1 col-sm-1"> </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>