| FAQ | 
| Lista utenti | 
| Gruppi sociali | 
| Calendario | 
| Cerca | 
| Messaggi odierni | 
		
			
  | 
    |||||||
![]()  | 
	
	
| 
		 | 
	
LinkBack | Strumenti della discussione | Modalità di visualizzazione | 
		
		
  | 
|||
		
	
		
		
			
			Come modificare il form mail in php per fare redirect
			
			Ciao a tutti. 
		
		
		
		
		
		
		
		
	
	Ho un sito con una form mail in php usata per i contatti che ogni volta che si spedisce un messaggio, rilascia un messaggio di conferma. Io vorrei che oltre al messaggio, facesse un redirect verso la home page dopo 5 secondi, e nel caso vi fossero errori, facesse un indietro del browser dopo 5 secondi in modo da permettere di fare delle correzioni nel form compilato, ovviamente dopo il messaggio di errore. Il codice php è questo: codice: 
	<?php
$nome_mittente = $_POST['nome_mittente'];
$mail_mittente = $_POST['mail_mittente'];
$mail_destinatario = "info@xxx.it";
$messaggio = $_POST['messaggio'];
if ($nome_mittente=="") 
echo "Devi inserire il tuo nome.";
elseif(!ereg("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})",$mail_mittente)) 
echo "Devi inserire un formato di e-mail valido per il mittente.";
else if ($messaggio=="") 
echo "Hai dimenticato il messaggio.";
else
if(mail($mail_destinatario, "Richiesta informazioni  da $nome_mittente", $messaggio, "From:<$mail_mittente>\n"))
echo "Mail inviata con successo, le risponderemo nel più breve tempo possibile.";
else 
echo "Si è verificato un errore durante l'invio.";
?>
Qualcuno mi può aiutare a fare queste due modifiche al codice? Grazie  | 
		
		
  | 
|||
| 
		
	
		
		
			
			 
			
			Fai così: 
		
		
		
		
		
		
		
		
	
	codice: 
	<?php
$nome_mittente = $_POST['nome_mittente'];
$mail_mittente = $_POST['mail_mittente'];
$mail_destinatario = "info@sito.it";
$messaggio = $_POST['messaggio'];
if (($nome_mittente == "") || ($messaggio == "") || (!ereg("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})",$mail_mittente))){
 header("Refresh: 5; URL=javascript:history.back();");
 echo "Dati non corretti!<br>";
 echo "Tra 5 secondi sarai riportato al modulo dei contatti.";
}
else { 
 if(mail($mail_destinatario, "Richiesta informazioni su sito.net da $nome_mittente", $messaggio, "From:<$mail_mittente>\n")){
   header("Refresh: 5; URL=http://www.sito.net/");
 echo "Mail inviata con successo, ti risponderemo nel più breve tempo possibile.<br>";
   echo "Tra 5 secondi sarai reindirizzato al sito.";
   }
 else {
   header("Refresh: 5; URL=javascript:history.back();");
   echo "Si è verificato un errore durante l'invio.<br>";
   echo "Tra 5 secondi sarai riportato al modulo dei contatti.";
   }
} 
?>
 | 
		
		
  | 
|||
| 
		
	
		
		
			
			 
			
			non sono molto pratico di php e pensavo che i file che servivano erano due: questo era il file in php e poi credevo ci fosse anche il form da inserire nell'html (e nel caso servisse anche quest'ultimo, avevo problemi nel compilarlo). 
		
		
		
		
		
		
		
		
	
	Quindi basta inserire questo nella mia pagina e salvarla in php? Grazie  | 
		
		
  | 
|||
| 
		
	
		
		
			
			 
			
			No, infatti serve anche la parte da inserire nell'html, magari in un div. Il codice è qualcosa tipo questo: 
		
		
		
		
		
		
codice HTML: 
	<form name="tell" id="tell" method="post" action="cg_form_to_mail.php"> <table width="80%" border="0" cellpadding="10" cellspacing="0"> <tr> <td height="30"><div align="left"> <h3><span class="nomi_form">Nombre:</span></h3> </div></td> <td height="30"><div align="left"><input name="nome_mittente" type="text" class="form" size="31" /> </div></td> </tr> <tr> <td height="30"><div align="left"> <h3><span class="nomi_form">Email:</span></h3> </div></td> <td height="30"><div align="left"><input name="mail_mittente" type="text" class="form" size="31" /> </div></td> </tr> <tr> <td height="30" valign="top"><div align="left"> <h3><span class="nomi_form">Mensaje:</span></h3> </div></td> <td valign="middle"><div align="left"><textarea name="messaggio" cols="31" rows="11" class="mex"></textarea> </div></td> </tr> <tr valign="middle"> <td height="30"><div align="left"></div></td> <td height="30"><div align="left"><input type="submit" name="Submit" value="Enviar" class="invia" /> </div></td> </tr> </table> </form> Ciao Marco  | 
![]()  | 
	
	
		
  | 
	
		 | 
			 
			Discussioni simili
		 | 
	||||
| Discussione | Forum | |||
| Regolare temperatura singola stanza senza modificare i tubi | Idraulica | |||
| Redirect 301 per errori 404 che non intacchi gli esistenti | Informatica | |||
| Salvare mail da Mozilla Thunderbird con il nome dell'oggetto | Informatica | |||
| Modificare meta tag di pagina dinamica creata con cms | Informatica | |||
| Come eliminare tutti i destinatari Thunderbird da una mail? | Informatica | |||