Inviata la Mail con Php indirizzare ad una nuova pagina

Ciao a tutti, è da poco che stò cercando di penetrare il mondo php quindi a molti di voi la mia domanda risulterà banale...Ho provato a cercare nei post precedenti ma non sono riuscito a trovare qual che cercavo, spero vogliate auitarmi.

Ho creato un form attraverso il quale è possibile inviare mail grazie a vari tutorial trovati in internet. In tutti, al termine di questo script c'è la possibilità di far apparire la scritta "Grazie per averci contattato" oppure in caso di fallimento dell'invio "Form non correttamente inviato", ma sempre in una pagina bianca e scarna.

La mia necessità è invece che una volta compilato il form e inviata la mail si venga indirizzati ad una nuova pagina in cui devono apparire la suddette scritte a seconda del caso. In verità la pagina a cui si dovrebbe essere reindirizzati è la stessa del form a cui al posto del form stesso appaia questa scritta.

Ringrazio chiunque mi possa aiutare. Per ora ciao a tutti

inviato 8 anni fa
Lugi_9
X 0 X

Un piccolo passo avanti l'ho fatto perchè inserendo:

   

header("location: nuovapagina.php");

ho ottenuto di andare alla nuova pagina. Ora mi rimane il dubbio di come far mostrare a questa pagina il messaggio che indichi se l'operazione è andata a buon fine o meno. Grazie a tutti e ciao di nuovo

risposto 8 anni fa
Lugi_9
X 0 X

Puoi semplicemente passare i parametri così ad esempio:

header("location: nuovapagina.php?ok=1");

E in nuovapagina.php verificare il valore del parametro per mostrare il messaggio scelto.

risposto 8 anni fa
LonelyWolf
X 0 X

Ti ringrazio provo subito...

risposto 8 anni fa
Lugi_9
X 0 X

Scusa nuovamente... ma potresti indicarmi il codice per richiedere una verifica io ho questa pagina mail.php per compilare il form quindi vorrei che il campo mail e informazioni siano obbligatori.

if ((trim($_POST['email']) != "") && (trim($_POST['informazioni']) != "")) 
{   
  $to = "miamail@mail.it";
$headers = "From: " . $_POST['email'] . "\n";
  
  $subject = "Modulo proveniente da sito";
  
  $body = "Contenuto del modulo:\n\n";
  
$body .= "Inviata da: " . trim(stripslashes($_POST["email"])) . "\n"; 
  
  $body .= "Nome: " . trim(stripslashes($_POST["nome"])) . "\n"; 
  $body .= "Cognome: " . trim(stripslashes($_POST["cognome"])) . "\n"; 
  $body .= "Indirizzo: " . trim(stripslashes($_POST["indirizzo"])) . "\n"; 
  $body .= "CAP: " . trim(stripslashes($_POST["cap"])) . "\n"; 
  $body .= "Città: " . trim(stripslashes($_POST["citta"])) . "\n"; 
  $body .= "Telefono: " . trim(stripslashes($_POST["telefono"])) . "\n"; 
  $body .= "Messaggio: " . trim(stripslashes($_POST["informazioni"])) . "\n"; 
  
  
 
  mail($to,$subject,$body,$headers);
  
     

 header("location: contatti2.php?ok=1");
  
  } 
  else 
  {
  echo "Deve compilare il form prima di inviare";
  }

Ora, dimmi se è corretto, devo cambiare l'else di mail.php che deve mandarmi anche lei a contatti2.php. (ma come? mettendo ancora header ("location: contatti2.php?ok=1") ?)

E in contatti2.php cosa devo aggiungere per fare la verifica?

Scusa ancora ma sono proprio all'inizio e quindi pieno di dubbi

risposto 8 anni fa
Lugi_9
X 0 X

header ("location: contatti2.php?ok=1");

in contatti2.php fai il $_GET del parametro, controlli che valore ha e agisci di conseguenza.

risposto 8 anni fa
LonelyWolf
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda