Partage
  • Partager sur Facebook
  • Partager sur Twitter

Envoi de champs de formulaire de contact

Sujet résolu
    28 janvier 2024 à 10:07:55

    Bonjour à Tous,

    J'arrive dans le monde du développement en PHP et HTML et je rencontre un problème d'envoi de mail.

    Le code joint fonctionne parfaitement et je reçois bien les mails, mais lorsque je teste le remplissage du formulaire de contact, seul le champ 'message' s'affiche dans le corps du mail.

    Ne s'affiche ni le nom, le téléphone et l'adresse mail.

    Pourriez vous me guider vers la solution car j'avoue de rein avoir trouvé sur les forums qui pourrait m'aider

    A noter que j'utilise la méthode PHPMailer.

    Par avance merci

    Partie PHP:

    <?php
    
    use PHPMailer\PHPMailer\Exception;
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\SMTP;
    
    require_once "../www/included/Exception.php";
    require_once "../www/included/PHPMailer.php";
    require_once "../www\included\SMTP.php";
    
    $mail = new PHPMailer(true);
    
    try{
        //configuration
        //$mail->SMTPDebug = SMTP::DEBUG_SERVER; //infos de debug
        //configuration SMTP
        $mail->isSMTP();
        $mail->Host = "smtp.free.fr";
        $mail->Port = 25;
        $mail->CharSet = "utf-8";
        //Exediteur
        $mail->addAddress("test@gmail.com");
        //exepditeur
        $mail->setFrom("test@free.fr");
        //contenu
        $mail->Subject = "Information en provennace de SIMAG";
        //contenu du corps
        $mail->Body = $_POST['name'];
        $mail->Body = $_POST['phone'];
        $mail->Body = $_POST['mail'];
        $mail->Body = $_POST['message'];
        //envoi du mail
        $mail->send();
        echo "Votre mail a bien été envoyé";
    
    }catch(Exception){
        echo "Message non envoyé erreur: {$mail ->ErrorInfo}";
    }
    
    ?>



    Partie HTML:

    <!DOCTYPE html>
    <html lang="Fr">
    
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta http-equiv="X-UA-Compatible" content="ie=firefox" />
        <link rel="stylesheet" href="contact.css">
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" />">
        <title>Contact</title>
    </head>
    
    <body>
        <form action="sendmail.php" method="post">
      
            <h1>Contactez-nous</h1>
            <div class="séparation"></div>
            <div class="corps-formulaire">
                <div class="gauche">
                    <div class="groupe">
                        <label>Adresse</label>
                    </div>
                    <div class="groupe">
                        <label>+téléphone</label>
                    </div>
                    <div class="groupe">
                        <label>contact@gmail.com</label>
                    </div>
                </div>
                <div class="droite">
                    <div class="boite">
                        <label>Nom & Prénom</label>
                        <input type="text" name="name" required>
                        <i class="fa-solid fa-user"></i>
                    </div>
                    <div class="boite">
                        <label>Téléphone</label>
                        <input type="text" name="phone">
                        <i class="fa-solid fa-mobile"></i>
                    </div>
                    <div class="boite">
                        <label>Adresse @ mail</label>
                        <input type="text" name="mail" required>
                        <i class="fa-solid fa-envelope"></i>
                    </div>
                    <div class="boite">
                        <label>Votre message</label>
                        <textarea name="message"></textarea>
                    </div>
                </div>
            </div>
            </div>
            <div class="pied-formulaire" align="center">
                <input type="submit" name ="Envoi" value="Envoyer">
                <button><a href="Menu.html" style="color:white;">Retour</a></button>
            </div>
            </div>
       
        </form>
        <?php
        if (isset($_POST['Envoi'])) { // si formulaire soumis
            echo $_POST['mail'];
        }
        ?>
    </body>



    -
    Edité par DominiqueSimon5 28 janvier 2024 à 10:09:12

    • Partager sur Facebook
    • Partager sur Twitter
      28 janvier 2024 à 10:30:30

      Bonjour, tu as des erreurs HTML, passe ton code au validateur pour voir et corriger les erreurs => https://validator.w3.org/#validate_by_input

      Il serait bien d'attribuer à la balise label un attribut for et à l'input correspondant l'attribut id avec les même valeurs pour les 2 attributs, cela aura pour but de facilité l'utilisabilité du formulaire,  en effet si on clique sur le label le focus se place dans l'input correspondant.

      Voir exemple https://developer.mozilla.org/fr/docs/Web/HTML/Element/form

      Les éléments <a> et <button> sont des éléments interactifs, on ne place pas l'un dans l'autre, c'est soit l'un soit l'autre.

      Ton erreur PHP, comme tu affectes différentes valeurs à la même variable c'est la dernière qui est prise en compte. La L29 écrase la L28, L30 écrase L29 et L31 écrase L30.

      L9 tu as des backslash à la place de slash

      Édit : sujet résolu?

      -
      Edité par AbcAbc6 28 janvier 2024 à 10:40:52

      • Partager sur Facebook
      • Partager sur Twitter
        8 février 2024 à 14:42:39

        Bonjour,

        En effet, j'ai bien corrigé les erreurs et déclarer toutes mes variables, cela fonctionne

        Merci beaucoup

        • Partager sur Facebook
        • Partager sur Twitter

        Envoi de champs de formulaire de contact

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        • Editeur
        • Markdown