News:

Ritornati online con una nuova veste grafica

Menu principale

[HELP] Come far fare redirect al form mail in php

Aperto da ghisirds, 01 Maggio 2008, 19:53:06

Discussione precedente - Discussione successiva

ghisirds

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:

<?php
$nome_mittente 
$_POST['nome_mittente'];
$mail_mittente $_POST['mail_mittente'];
$mail_destinatario "[email protected]";
$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.";
?>


Ho provato ad inserire dopo"Mail inviata con successo ecc." la frase "header("Refresh: 5; URL=http://xxxx.com/");" ma mi da un errore "Parse error: syntax error, unexpected T_ELSE" e allora mi sono fermato, dal momento che di php so quasi nulla.
Qualcuno mi può aiutare a fare queste due modifiche al codice?
Grazie

clic

Chi puo darti delle risposte in merito non è in questo periodo in grado di poter dedicare tempo al forum quindi ti indico questo sito dove potrai provare a cercare una risposta per il tuo quesito:
http://php.html.it/
...

Vincent Vega

#2
Prova ad inserire questo: >>>


<?php
if(isset($_POST['submit'])) {
    
$nome_mittente $_POST['nome_mittente'];
    
$mail_mittente $_POST['mail_mittente'];
    
$mail_destinatario "[email protected]";
    
$messaggio $_POST['messaggio'];
    if(
$nome_mittente=="") {
        
header("Refresh: 5; url=http://zobaz.altervista.org/testing/headerRefresh/");
        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)) {
        
header("Refresh: 5; url=http://zobaz.altervista.org/testing/headerRefresh/");
        echo 
"Devi inserire un formato di e-mail valido per il mittente.";
    }
    elseif (
$messaggio=="") {
        
header("Refresh: 5; url=http://zobaz.altervista.org/testing/headerRefresh/");
        echo 
"Hai dimenticato il messaggio.";
    }
    elseif(
mail($mail_destinatario"Richiesta informazioni  da $nome_mittente"$messaggio"From:<$mail_mittente>\n")) {
        
header("Refresh: 5; url=http://www.zobaz.it");
        echo 
"Mail inviata con successo, le risponderemo nel pi&ugrave; breve tempo possibile.";
    }
    else {
        
header("Refresh: 5; url=http://zobaz.altervista.org/testing/headerRefresh/");
        echo 
"Si è verificato un errore durante l'invio.";
    }
}
else {
?>

<html>
<head><TITLE>Form con header refresh</TITLE></head>
<body>
<h1>Form con header refresh</h1>
<form action="" method="post">
<table>
<TR><TD>Nome: </TD><TD><input type="text" name="nome_mittente" /></TD></TR>
<TR><TD>Email: </TD><TD><input type="text" name="mail_mittente" /></TD></TR>
<TR><TD>Messaggio: </TD><TD><textarea name="messaggio"></textarea></TD></TR>
<TR><TD>&nbsp;</TD><TD><input type="submit" name="submit" value="Invia &gt;&gt;" /></TD></TR>
</table>
</form>
</body>
</html>
<?php
}
?>



Non ringraziare me, ringrazia Vic Vega :P e Google.Com!!
Sto provando a convincerlo ad iscriversi su eMuleItalia.Net, ma per questioni tempo non può. Mentre gli facevo vedere com'è strutturato il Forum ha voluto partecipare suggerendomi cosa inserire in questo intervento &lt;_&lt;!!

Ciao :tongue2:!!