Ciao a tutti
sono nuova del forum e spero di non aver postato nel posto sbagliato.
Ho la seguente pagina unica con form e php post per l'invio di mail da mio sito. Non conosco che ben poco di php ma ho provato a personalizzare un codice che mi piaceva. Funziona quasi tutto però nell'intestazione non mi arriva l'indirizzo di chi ha inviato il form. Invece mi viene "Apache..." cioè il nome del server.
Inoltre vorrei aggiungere qualcosa che mi convalidi l'indirizzo mail (che controlli che sia stata inserita una mail e non testo). Ho trovato qualcosa in giro ma non riesco ad adattarlo.
La mia pagina è qs:
Codice PHP:
<?php
//raccogliamo le variabili inviate
$nome=$_POST['nome'];
$mail=$_POST['mail'];
$subject=$_POST['subject'];
$messaggio=$_POST['messaggio'];
$Submit=$_POST['Submit'];
//controlliamo che sia stato inviato il form
if($Submit=='Invia'){
//controlliamo che siano stati inseriti tutti i dati
if(!empty($nome) and !empty($mail) and !empty($subject)and !empty($messaggio) ){
// Intestazioni aggiuntive
$header = "From: ". $nome . " <" . $_POST[mail] . ">\r\n";
//inviamo l'email
$mail=mail("firemgb@gmail.com", "Mail da $_POST[nome]" , $messaggio , "OGGETTO $_POST[subject]" , $header);
//controlliamo che la mail sia stata inviata correttamente
if($mail){
//messaggio in caso di successo
$ok="La mail è stata inviata correttamente. Riceverete una risposta al più presto.<br/><br/>";
}
else{
//messaggio in caso di errore
$errore="Non è stato possibile inviare l'email. Riprova.<br/><br/>";
}
}
else{
//messaggio in caso di campi mancanti
$errore="Siete pregati di compilare tutti i campi<br/>;<br/>";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Form invio email</title>
<style type="text/css">
</style>
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body background="http://forum.it.altervista.org/images/background.jpg">
<?php if(isset($errore)){ echo $errore; }else{ if(isset($ok)){ echo $ok; } } ?>
<p class="unnamed1"> </p>
<h2>CONTATTI E INFORMAZIONI</h2>
<h2> </h2>
<form name="mailform" method="post" action="<? $_SERVER['PHP_SELF'] ?>">
<table width="51%" border="1" bgcolor="#DDDDDD" height="434">
<tr>
<td width="26%" height="2"><b>Nome e Cognome</b></td>
<td width="74%" height="2">
<input type="text" name="nome" />
</td>
</tr>
<tr>
<td width="26%" height="2"> <b>Mail</b><br />
</td>
<td width="74%" height="2">
<input type="text" name="mail" />
</td>
</tr>
<tr>
<td width="26%" height="5"><b>Oggetto</b> <br />
</td>
<td width="74%" height="5">
<input type=text name="subject">
</td>
</tr>
<tr>
<td width="26%" height="33"><b>Messaggio</b>
<td width="74%" height="33"></td>
</tr>
<tr>
<td width="26%" height="97">
<textarea name="messaggio" cols="40" rows="5"></textarea>
</td>
<td width="74%" height="97"></td>
</tr>
<tr>
<td width="26%" height="68">
<input type="submit" name="Submit" value="Invia" />
<input type="reset" name="Submit2" value="Cancella" />
</td>
<td width="74%" height="68"></td>
</tr>
<tr>
<td width="26%" height="71">Compilare tutti i campi. Grazie.</td>
<td width="74%" height="71">;</td>
</tr>
</table>
<p>;</p>
</form><br />
</body>
</html>
Grazie!