form invio email php

feelthemusic

Nuovo Utente
29 Nov 2012
14
0
0
Salve a tutti, espongo il mio problema ho creato un form per l'invio di email con php, funziona e cliccando su invia mi si apre una pagina con il messaggio "la mail è stata inoltrata con successo." Quello che vorrei fare io è visualizzare il messaggio nella stessa pagina sotto il form. sapete darmi una mano? grazie in anticipo
Codice:
<?php
 // L'INDIRIZZO DEL DESTINATARIO DELLA MAIL
 $to = "[email protected]";
 
 // IL SOGGETTO DELLA MAIL
 $subject = "EMAIL";
  $body = "Contenuto del modulo:\n\n";

 $body .= "Oggetto: " . trim(stripslashes($_POST["oggetto"])) . "\n";
 $body .= "testo: " . trim(stripslashes($_POST["testo"])) . "\n";
 $body .= "mail: " . trim(stripslashes($_POST["mail"])) . "\n";
 

 
 // INVIO DELLA MAIL
 if(@mail($to, $subject, $body)) { 
 
 echo "La mail è stata inoltrata con successo.";
 
 } else {
 
 echo "Si sono verificati dei problemi nell'invio della mail.";
 
 }
 
 ?>
 
Ciao,
devi semplicemente mettere il form nella stessa pagina del codice php
esempio
PHP:
<?php
// se hanno premuto il submit
if (isset($_POST['submit'])) {
    // tutto il codice php
}
// l'action del form deve richiamare la stessa pagina
?>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
    ......
    <input type="submit" name="submit" value="Invia"/> 
</from>
 
ciao ho provato a fare come dici ma al momento che clicco invia mi ricarica il form vuoto ma non mi dice email inviata. ho sbagliato qualcosa?
 
posta come lo hai scritto
ho fatto un unico documento php con questo codice
PHP:
<?php
if (isset($_POST['submit'])) {
 // L'INDIRIZZO DEL DESTINATARIO DELLA MAIL
 $to = "[email protected]";
 
 // IL SOGGETTO DELLA MAIL
 $subject = "EMAIL";
  $body = "Contenuto del modulo:\n\n";

 $body .= "Oggetto: " . trim(stripslashes($_POST["oggetto"])) . "\n";
 $body .= "testo: " . trim(stripslashes($_POST["testo"])) . "\n";
 $body .= "mail: " . trim(stripslashes($_POST["mail"])) . "\n";
 

 
 // INVIO DELLA MAIL
 if(@mail($to, $subject, $body)) { // SE L'INOLTRO E' ANDATO A BUON FINE...
 
 echo "La mail è stata inoltrata con successo.";
 
 } else {// ALTRIMENTI...
 
 echo "Si sono verificati dei problemi nell'invio della mail.";
 
 }
 }
 
 ?>

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
<strong>Indirizzo E-mail </strong><br><br>
<strong>Oggetto</strong><br><br>
<strong>Messaggio</strong><br> <br>
</div>
 <input type="text" name="mail"><br><br>
 <input type="text" name="oggetto"><br><br>
 <textarea name="testo" cols=40 rows=10></textarea>


 
<br>
 <div id="invia" align="center">
 <input type="submit" name="Submit" value="INVIA">
 </div>

 </form>
 
Ultima modifica di un moderatore:
se qui scrivi submit tutto in minuscolo
PHP:
if (isset($_POST['submit'])) {
anche il name deve essere in minuscolo
PHP:
<input type="submit" name="Submit" value="INVIA">
 

Discussioni simili