| 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 |
![]() |
|
|
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 | |||