Devo creare un form per la richiesta di certificati. Questo il codice:
Ora, il messaggio arriva correttamente a destinazione,
ma la voce "uso" e differenza delle altre è vuota.
In altre parole, la mail che arriva contiene:
Cioè la voce selezionata nel menu a discesa
non viene in effetti trasmessa...
Dove sta l'errore?
Grazie
M.
Codice:
<?php
if(isset($_POST['name']) && isset($_POST['email']) && isset($_POST['msg']) && isset($_POST['uso'])){
// indirizzo e-mail destinatario
// $receiverMail = "[email protected]";
$receiverMail = "[email protected]";
// pulizia dei dati inseriti
$name = ltrim(rtrim(strip_tags(stripslashes($_POST['name']))));
$email = ltrim(rtrim(strip_tags(stripslashes($_POST['email']))));
$msg = ltrim(rtrim(strip_tags($_POST['msg'])));
// lettura dell'indirizzo IP
$ip = getenv("REMOTE_ADDR");
// formattazione del messaggio ( \n per le messe a capo )
// $msgformat = "Messaggio da: $name ($ip)\nEmail: $email\n\n$msg";
$msgformat = "Mittente: $name \nIP del mittente: ($ip)\nE-mail: $email\n$msg \ncertificato: $uso";
// verifica campi obbligatori
if(empty($name) || empty($email) || empty($msg)) {
echo "<h3>Il messaggio non è stato inviato</h3>
<h3>Si prega di compilare tutti i campi</h3>"; }
//verifica l'indirizzo mail
elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
echo "<h3>Il messaggio non è stato inviato</h3>
<h3>L'indirizzo e-mail indicato non è valido</h3>"; }
else{
//invio del messaggio
mail($receiverMail, $subject, $msgformat, "From: $name <$email>");
echo "<h3>Il messaggio è stato inviato correttamente</h3>
<h3>Nei limiti del possibile, <br /> risponderemo entro 24 ore</h3>
<h3>Grazie di averci scritto</h3>";
}
}
else{
// metti il form
// $self=$_SERVER['PHP_SELF'];
$self=$_SERVER['index.php?pagina=informazioni'];
echo <<<FRM
<h2>Richiesta informazioni</h2>
<h3>Riempire i campi richiesti <br /> e premere il pulsante "Invia"</h3>
<br /><br />
<form action="$self" method="post">
Nome e cognome:<br /><br />
<input name="name" size="50" maxlength="40" />
<br /><br /><br />
Indirizzo e-mail:<br /><br />
<input name="email" size="50" maxlength="40" />
<br /><br /><br />
Quali informazioni si desiderano? <br /><br />
<textarea name="msg" cols="50" rows="12"></textarea>
<br /><br /><br />
ad uso <select name="uso">
<option selected>assegni familiari</option>
<option selected>assistenza sanitaria</option>
<option selected>sussidio scolastico</option>
<option selected>borsa di studio</option>
<option selected>libretto di lavoro</option>
<option selected>rinvio obblighi di leva</option>
<option selected)>altro (usi consentiti dalla legge)</option>
</select>
<input type="submit" value="Invia" />
<input type="reset" value="Cancella" />
</form>
FRM;
}
?>
ma la voce "uso" e differenza delle altre è vuota.
In altre parole, la mail che arriva contiene:
Codice:
Mittente: ffffffffffffffff
IP del mittente: (80.171.232.52)
E-mail: [email protected]
ggggggggggggggggggggggg
certificato:
non viene in effetti trasmessa...
Dove sta l'errore?
Grazie
M.