demande d'aide pour traitement.php de mon formulaire de contact

Petit nouveau ! | 1 Messages

08 août 2020, 14:25

Bonjour
J'ai créé un formulaire en html et un traitement.php
Il fonctionne. Je reçois le mail.
Je ne comprends pas comment faire une redirection vers une page de remerciement ou un message "mail envoyé"
Pouvez-vous m'aider à corriger mon code?
<?php
    
    if ($_SERVER['REQUEST_METHOD']=='POST') {
     
     
      $nom = htmlentities($_POST['nom']);
      $prenom = htmlentities($_POST['prenom']);
      $objet = htmlentities($_POST['objet']);
      $email = htmlentities($_POST['email']);
      $message = htmlentities($_POST['message']);
     
      
     
      $destinataire = '[email protected]'; 
      $contenu = '<html><head><title> '.$objet.' </title></head><body>';
      $contenu .= '<p>Tu as un nouveau message !</p>';
      $contenu .= '<p><strong>Nom</strong>: '.$nom.'</p>';
      $contenu .= '<p><strong>Prenom</strong>: '.$prenom.'</p>';
      $contenu .= '<p><strong>Email</strong>: '.$email.'</p>';
      $contenu .= '<p><strong>Message</strong>: '.$message.'</p>';
      $contenu .= '</body></html>'; 
     
      
      $headers = 'MIME-Version: 1.0'."\r\n";
      $headers .= 'Content-type: text/html; charset=iso-8859-1'."\r\n";
     
     
      
if(!mail($destinataire, $objet, $contenu, $headers)){
echo "erreur";
header('Location: merci.html');
exit;
}
}
?>

Avatar du membre
Mammouth du PHP | 1609 Messages

08 août 2020, 15:24

Salut, le header('Location: merci.html'); mets le plutôt dans le else du if !mail.
Développeur web depuis + de 20 ans

Mammouth du PHP | 881 Messages

15 août 2020, 03:02

Perso, je trouve plus facile de traiter des conditions positives, ainsi, comme te l'écrit Saian, ta vérification devrait ressembler à ceci:
if(mail($destinataire, $objet, $contenu, $headers)){
     header('Location: merci.html');
} else {
     echo "erreur";
     exit;
}
Soyez artisans de paix