..Scusate, ma non è meglio controllare direttamente i valori, invece del dato passato da submit?
Cioè, una cosa del genere:
Codice PHP:
if(isset($_POST['name'],$_POST['email'],$_POST['message'])) {
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
if(!empty($_POST['email']) and !empty($_POST['message']) and !empty($_POST['name']))
{
$to = 'nome@email.it';
$subject = 'Messaggio';
$headers = 'From: '.$name.'<'.$email.'>';
mail($to, $subject, $message, $headers);
echo "Messaggio inviato con successo!";
}
else {
echo 'Compila tutti i campi!';
}
}
Consiglio anche di controllare cosa restituisce mail().
Poi (personalmente), i 3 assegnamenti dei dati prelevati da $_POST li farei dentro il secondo if.. Ma così va bene (funziona {almeno, dovrebbe}) ugualmente :)
Ciao!
EDIT:
ah, comunque javascripter ha chiesto se hai assegnato il name al submit:
Codice HTML:
<input type="submit" name="submit" value="Invia"/>
Senza il name nel submit, l'if:
Codice PHP:
if(isset($_POST['submit'])){
Non potrà mai essere true...