form in PHP
Inviato: ven 27 gen 2012, 17:46
Ho un form in PHP per inviare mail.
Inpassato funzionava a dovere, adesso però,
noncapisco comemai, non sembra funzionare
nel senso che le mail non arrivano.
Ci trovate errori?
Grazie !!
M
Inpassato funzionava a dovere, adesso però,
noncapisco comemai, non sembra funzionare
nel senso che le mail non arrivano.
Codice: Seleziona tutto
<div class="overtitle"><p>Segreteria</p></div>
<h1>Richiesta certificati</h1>
<script type="text/javascript">
var RecaptchaOptions = {
custom_translations : {
instructions_visual : "Scrivi le due parole:",
instructions_audio : "Trascrivi ci\u00f2 che senti:",
play_again : "Riascolta la traccia audio",
cant_hear_this : "Scarica la traccia in formato MP3",
visual_challenge : "Modalit\u00e0 visiva",
audio_challenge : "Modalit\u00e0 auditiva",
refresh_btn : "Chiedi due nuove parole",
help_btn : "Aiuto",
incorrect_try_again : "Scorretto. Riprova.",
},
lang : 'it', // Unavailable while writing this code (just for audio challenge)
theme : 'clean',
};
</script>
<?php
if(isset($_POST['name'])) {
// && isset($_POST['email']) && isset($_POST['telefono']) && isset($_POST['luogo']) && isset($_POST['data']) && isset($_POST['classe']) && isset($_POST['anno']) && isset($_POST['numero']) && isset($_POST['tipo']) && isset($_POST['uso'])){
// indirizzo e-mail destinatario
$receiverMail = "mail@mail.com";
// pulizia dei dati inseriti
// print_r($_POST);
$nome = ltrim(rtrim(strip_tags(stripslashes($_POST['name']))));
$email = ltrim(rtrim(strip_tags(stripslashes($_POST['email']))));
$telefono = ltrim(rtrim(strip_tags(stripslashes($_POST['tel']))));
$luogo = ltrim(rtrim(strip_tags(stripslashes($_POST['luogo']))));
$data = ltrim(rtrim(strip_tags(stripslashes($_POST['data']))));
$classe = ltrim(rtrim(strip_tags(stripslashes($_POST['classe']))));
$anno = ltrim(rtrim(strip_tags(stripslashes($_POST['anno']))));
$numero = ltrim(rtrim(strip_tags(stripslashes($_POST['numero']))));
$tipo = trim(htmlspecialchars($_POST['tipo'], ENT_QUOTES));
$uso = trim(htmlspecialchars($_POST['uso'], ENT_QUOTES));
// ltrim(rtrim()) == trim()
// lettura dell'indirizzo IP
$ip = getenv("REMOTE_ADDR");
// formattazione del messaggio
$msgformat = "mittente: $nome\nIP del mittente: $ip\ne-mail: $email\ntelefono: $telefono\nnato a: $luogo\nin data: $data\niscritto alla classe: $classe\nnell'a. s.: $anno\nchiede numero: $numero\ncertificati di tipo: $tipo\nad uso: $uso\n";
// verifica dei campi
if(empty($nome) || empty($email) || empty($telefono) || empty($luogo) || empty($data) || empty($classe) || empty($anno) || empty($numero) || empty($tipo) || empty($uso)) {
echo "<h3 class=\"danger\">Il messaggio non è stato inviato <br />
Si prega di compilare tutti i campi</h3>"; }
// verifica dell'indirizzo mail
elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
echo "<h3 class=\"danger\">Il messaggio non è stato inviato<br />
L'indirizzo e-mail indicato non è valido</h3>"; }
else{
// invio del messaggio
mail($receiverMail, "Oggetto: richiesta certificati", $msgformat);
echo "<h3>La richiesta è stata inviata correttamente<br />
Il certificato potrà essere ritirato presso la Segreteria<br />
il quinto giorno lavorativo successivo alla richiesta</h3>";
}
}
else{
// inserimento del form
// Per inviare alla stessa pagina, nel form basta mettere action=""
// Il parametro 'name' non serve nel submit e nel reset
echo <<<FRM
<h3>È possibile richiedere un certificato <br /> direttamente da questo form</h3>
<h3 class="spacebottom">Riempire i campi richiesti, <br /> quindi la casella di
controllo <br /> e premere il pulsante "Invia"</h3>
<form action="" method="post">
<fieldset>
<label class="row" for="name">Il sottoscritto:</label><br />
<input type="text" name="name" id="name" size="50" maxlength="50" /><br /><br />
<label class="row" for="email">indirizzo e-mail:</label><br />
<input type="text" name="email" id="email" size="50" maxlength="50" /><br /><br />
<label class="row" for="tel">telefono:</label><br />
<input type="text" name="tel" id="tel" size="50" maxlength="50" /><br /><br />
<label class="row" for="luogo">nato a:</label><br />
<input type="text" name="luogo" id="luogo" size="50" maxlength="50" /><br /><br />
<label class="row" for="data">il giorno:</label><br />
<input type="text" name="data" id="data" size="50" maxlength="50" /><br /><br />
<label class="row" for="classe">iscritto alla classe:</label><br />
<input type="text" name="classe" id="classe" size="50" maxlength="50" /><br /><br />
<label class="row" for="anno">nell'anno scolastico:</label><br />
<input type="text" name="anno" id="anno" size="50" maxlength="50" /><br /><br />
<label class="row" for="numero">chiede numero:</label><br />
<input type="text" name="numero" id="numero" size="50" maxlength="50" /><br /><br />
<label class="row" for="tipo">certificati di:</label><br /><br />
<select name="tipo" size="1" id="tipo">
<option value="iscrizione">iscrizione</option>
<option value="iscrizione e frequenza">iscrizione e frequenza</option>
<option value="dichiarazione promozione">dichiarazione promozione</option>
<option value="promozione con voti">promozione con voti</option>
<option value="diploma">diploma</option>
</select><br /><br />
<label class="row" for="uso">ad uso:</label><br /><br />
<select name="uso" size="1" id="uso">
<option value="assegni familiari">assegni familiari</option>
<option value="assistenza sanitaria">assistenza sanitaria</option>
<option value="sussidio scolastico">sussidio scolastico</option>
<option value="borsa di studio">borsa di studio</option>
<option value="libretto di lavoro">libretto di lavoro</option>
<option value="rinvio obblighi di leva">rinvio obblighi di leva</option>
<option value="altro (usi consentiti dalla legge)">altro (usi consentiti dalla legge)</option>
</select><br /><br />
<p>Casella di controllo</p>
FRM;
// inserimento reCAPTCHA
require_once('recaptchalib.php');
$publickey = "6LcXGL4SAAAAAJk4fa1MLc5y09rHr8Bxsg9S5L88";
echo recaptcha_get_html($publickey);
echo <<<FRM
<br />
<input type="submit" value="Invia" />
<input type="reset" value="Cancella" />
</fieldset>
</form>
FRM;
}
?>
Grazie !!
M