Problème envoi de mail php

Résolu/Fermé
dopehatt Messages postés 3 Date d'inscription mardi 31 mai 2022 Statut Membre Dernière intervention 1 juin 2022 - Modifié le 31 mai 2022 à 22:48
dopehatt Messages postés 3 Date d'inscription mardi 31 mai 2022 Statut Membre Dernière intervention 1 juin 2022 - 1 juin 2022 à 07:54
Bonjour,

Je me permets de poster ici car j'ai essayé pas mal de modifications mais je m'arrache les cheveux x)
J'ai crée un formulaire de contact sur mon site internet. Le problème est que lorsque l'on le remplit,
Je le reçois par mail mais sans les valeurs indiquées dans le formulaire.
Je débute en php donc je transpire un peu... merci d'avance si l'un d'entre vous peut éclairer ma lanterne.


Voici mon code php:
<?php 


$msg = "Nom:\t$name\n";
$msg = "Phone:\t$phone\n";
$msg .= "E-Mail:\t$email\n";
$msg .= "Message:\t$message\n\n";


$recipient = "***@***";
$subject = "Demande d'informations";

$mailheaders = "From: Demande de contact<> \n";
$mailheaders .= "Reply-To: $email\n\n";

mail($recipient, $subject, $msg, $mailheaders);

echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyé!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci, $nom </H1>";
echo "<P align=center>";
echo "Nous avons bien reçu votre demande et la traiterons dans les plus bref délais</P>";
echo "</BODY></HTML>";

?>

Voici le-dit formulaire sur ma page html :
  <div class="container">
        <div class="row">
          <div class="col-lg-6">
            <form action="envoi.php" method="post">
              <div class="row">
                <div class="col-md-6 form-group">
                  <label for="nom">Nom/Entreprise</label>
                  <input type="text" id="nom" class="form-control ">
                </div>
                <div class="col-md-6 form-group">
                  <label for="phone">Téléphone</label>
                  <input type="text" id="phone" class="form-control ">
                </div>
              </div>
              <div class="row">
                <div class="col-md-12 form-group">
                  
                </div>
              </div>
              <div class="row">
                <div class="col-md-12 form-group">
                  <label for="email">Email</label>
                  <input type="email" id="email" class="form-control ">
                </div>
              </div>
              <div class="row">
                <div class="col-md-12 form-group">
                  <label for="message">Votre message</label>
                  <textarea name="message" id="message" class="form-control " cols="30" rows="8"></textarea>
                </div>
              </div>
              <div class="row">
                <div class="col-md-6 form-group">
                  <input type="submit" value="Envoyer un message" class="btn btn-primary">
                </div>
              </div>
            </form>
     

          </div>


EDIT : Déplacement du sujet dans le forum PHP
EDIT² : Ajout des balises de code.


Et lorsque j'essaye de faire comme si je le remplissais pour l'envoyer en allant sur mon site, une fois l'envoi effectué il y a ceci qui s'affiche
Notice: Undefined variable: nom in /home/u596441461/domains/origensbbq.com/public_html/envoi.php on line 4

Notice: Undefined variable: phone in /home/u596441461/domains/origensbbq.com/public_html/envoi.php on line 5

Notice: Undefined variable: email in /home/u596441461/domains/origensbbq.com/public_html/envoi.php on line 6

Notice: Undefined variable: message in /home/u596441461/domains/origensbbq.com/public_html/envoi.php on line 7

Notice: Undefined variable: email in /home/u596441461/domains/origensbbq.com/public_html/envoi.php on line 14

Notice: Undefined variable: nom in /home/u596441461/domains/origensbbq.com/public_html/envoi.php on line 20

Merci d'avance :)

Configuration: Configuration: Configuration: Windows / Chrome 101.0.4951.67
A voir également:

3 réponses

jordane45 Messages postés 38241 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 septembre 2024 4 689
31 mai 2022 à 22:50
Bonjour,

Les variables de ton formulaire se trouvent dans la super global $_POST.

Par exemple, pour avoir la variable $name .. il faut avant, faire
$name = $_POST['nom'];

De plus, dans ton formulaire, pour que ça marche .. il faut mettre des attributs "name" à tes input
par exemple, pour le nom
  <input type="text" id="nom" name="nom" class="form-control ">

1
dopehatt Messages postés 3 Date d'inscription mardi 31 mai 2022 Statut Membre Dernière intervention 1 juin 2022 1
Modifié le 1 juin 2022 à 00:25
merci beaucoup!

Je reçois le mail avec cette fois le message c'est parfait!

Cependant je ne vois pas les autres données remplies (nom, email, téléphone) uniquement le message

Aurais-je fais une erreur?

<?php 


$name = $_POST['nom'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$message = $_POST['message'];


$recipient = "***@***";
$subject = "Demande d'informations";

$mailheaders = "From: Demande de contact<> \n";
$mailheaders .= "Reply-To: $email\n\n";

mail($recipient, $subject, $message, $mailheaders);

echo "<HTML><HEAD>";
echo "<TITLE>Formulaire envoyé!</TITLE></HEAD><BODY>";
echo "<H1 align=center>Merci, $name </H1>";
echo "<P align=center>";
echo "Nous avons bien reçu votre demande et la traiterons dans les plus bref délais</P>";
echo "</BODY></HTML>";

?>


<div class="container">
        <div class="row">
          <div class="col-lg-6">
            <form action="envoi.php" method="post">
              <div class="row">
                <div class="col-md-6 form-group">
                  <label for="nom">Nom/Entreprise</label>
                  <input type="text" id="nom" name="nom" class="form-control ">
                </div>
                <div class="col-md-6 form-group">
                  <label for="phone">Téléphone</label>
                  <input type="text" id="phone" name="phone" class="form-control ">
                </div>
              </div>
              <div class="row">
                <div class="col-md-12 form-group">
                  
                </div>
              </div>
              <div class="row">
                <div class="col-md-12 form-group">
                  <label for="email">Email</label>
                  <input type="email" id="email" name="email" class="form-control ">
                </div>
              </div>
              <div class="row">
                <div class="col-md-12 form-group">
                  <label for="message">Votre message</label>
                  <textarea name="message" id="message" class="form-control " cols="30" rows="8"></textarea>
                </div>
              </div>


Merci encore!

EDIT : Correction des balises de code ( ajout du Langage )
1
jordane45 Messages postés 38241 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 septembre 2024 4 689
1 juin 2022 à 00:29
Tu n'utilises pas les variables .. normal qu'elles n'apparaissent pas dans ton mail..
Essaye, par exemple
$name = $_POST['nom'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$message = $_POST['message'];

$message .= "<b>Nom: </b>" . $nom . "<br>";
$message .= "email :  <a href='tel:" . $phone. "'> " . $phone . "</a><br>";
$message .= "email :  <a href='mailto:" . $email . "'></a><br>";


1
dopehatt Messages postés 3 Date d'inscription mardi 31 mai 2022 Statut Membre Dernière intervention 1 juin 2022 1
1 juin 2022 à 07:54
Un énorme merci de votre aide!

Maintenant j'ai le contenu qui s'affiche c'est parfait ainsi que les renseignements du formulaire.

A la prochaine. :)
0