Bonjour à tous,
J'ai fait un formulaire en html et son traitement en php. Je soumets ici ces deux documents avec l'espoir qu'une personne plus qualifiée que moi en la matière me donnera son avis sur ces deux pages, voire me conseillera les corrections utiles si besoin.
Je l'en remercie d'avance.
François
<!DOCTYPE html>
<html lang="fr">
<head>
    <title>Contact</title>
    <meta charset="utf-8"/>
    <meta http-equiv="X_UA-Compatible" content="IE=edge">
    <link rel="stylesheet" href="fichier-css/page-menu.css">
    <link rel="stylesheet" href="fichier-css/contact.css">
    <link rel="stylesheet" href="fichier-css/contact-style.css">
    <meta name="viewport" content="width=device=width, initial-scale=1">
    <meta name="auteur" content="François de Calielli">
    <meta name="description" content="page de contact"/>
    <meta name="reply-to" content="decalielli@gmail.com">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" integrity="sha512-Fo3rlrZj/k7ujTnHg4CGR2D7kSs0v4LLanw2qksYuRlEzO+tcaEPQogQ0KaoGN26/zrn20ImR1DfuLWnOo7aBA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>

<body>
<div id="logo">
    <img src="fichier-images/logo_atypic.jpg" alt= Le logo de mon site d'auteur />
    <img src="fichier-images/Atypical_autoedition.jpg" alt= L'entête du site />
</div>

    <div id="barre-menu">
        <nav>
            <label for="menu-mobile" class="menu-mobile">Menu</label>
            <input type="checkbox" id="menu-mobile, role=button">
            <ul>
                <li class="menu-index"><a href="index.html">Accueil</a></li>
                <li class="menu-a_propos"><a href="a_propos.html">A propos de moi</a></li>
                <li class="menu-livres"><a href="livres.html">Mes livres</a>
                    <ul class="submenu">
                        <li><a href="romans.html">Les romans</a></li>
                        <li><a href="essais.html">Les essais</a></li>
                        <li><a href="poesies.html">Les poésies</a></li>
                        <li><a href="theatre.html">Les pièces de théâtre</a></li>
                    </ul>
                </li>
                <li class="menu-contact"><a href="contact.html">Contact</a></li>
                <li class="menu-merci"><a href="merci.html">Merci!</a></li>
            </ul>
            </li>
        </nav>
    </div>
    <div id="colonne-gauche">
        <ul>
            <div id="fb-root"></div>
            <script async defer crossorigin="anonymous" src="https://connect.facebook.net/fr_FR/sdk.js#xfbml=1&version=v12.0" nonce="oFaS9Zcl"></script>
            <div class="fb-page" data-href="https://www.facebook.com/decalielli/atypical.autoedition" style="margin-top: 40px" data-tabs="timeline,events,messages" data-width="340" data-height="500" data-small-header="false" data-adapt-container-width="true" data-hide-cover="false" data-show-facepile="true"><blockquote cite="https://www.facebook.com/decalielli/atypical.autoedition" class="fb-xfbml-parse-ignore"><a href="https://www.facebook.com/decalielli/atypical.autoedition">Tribune d'auteurs</a></blockquote></div>
            <div style="height:33px; width:98px; display: block; margin-right: auto; margin-left: auto; margin-top: 30px" id="link">
                <a href="http://facebook.com/francois.decalielli.902" title="Suivez-moi sur facebook!"><img src="fichier-images/suivez-moi_facebook.png" /></a>
            </div>
        </ul>
    </div>
    <div id="contenu">
        <form action="post.php" method="post">
		
            <h1>Formulaire de contact</h1>
            <div class="separation"></div>
            <div class="corps-formulaire"></div>
            <div class="gauche">
                <div style="margin-top: 20px" class="groupe">
                    <label style="margin-bottom: 5px" for="prenom">Prénom</label>
                    <input name="prenom" style="padding: 15px 15px 15px 10px; margin-left: 145px; margin-top: 10px" type="text" minlength="2" maxlength="24" placeholder="prenom" required/>
                    <div style="margin-top: -40px; margin-left: 20px" class="icone">
                        <i class="fa fa-user fa-lg fa-fw" aria-hidden="true"></i>
                    </div>
                </div>
                <div style="margin-top: 20px" class="groupe">
                    <label style="margin-bottom: 12px" for="email">E-mail</label>
                    <input name="email" style="padding: 15px 15px 15px 10px; margin-left: 145px" type="text" placeholder="Saissez un email valide"/>
                    <div style="margin-top: -45px; margin-left: 20px" class="icone">
                        <i class="fa fa-envelope-open fa-lg fa-fw" aria-hidden="true"></i>
                    </div>
                </div>
            </div>
            <div class="droite">
                <div style="margin-top: 25px" class="groupe">
                    <label style="margin-bottom: 10px; margin-left: 5px" for="message">Message</label>
                    <textarea style="padding-top: 5px; margin-left: 120px; padding-left: 10px" name="message" id="message" cols="30" rows="20" placeholder="Saisissez ici ..." required></textarea>
                </div>
            </div>
            <div class="pied-formulaire">
                <input style="margin-left: 25px" type="submit" name="envoyer" value="Envoyer le message"/>
            </div>
        </form>
    </div>
    <div id="footer">

    </div>
</body>
</html>


La page PHP


<?php

		# On vérifie que les champs du formulaire ont été remplis correctement
		if(isset($_POST['envoyer'])){
		if(!empty($_POST['prenom']) && !empty($_POST['email']) && !empty($_POST['message'])){
        
		# On sécurise les paramètres passés en POST pour les traiter en PHP
        $prenom = htmlspecialchars($_POST['prenom']));
        $email = htmlspecialchars($_POST['email']));
        $message = htmlspecialchars(stripslashes(trim($_POST['message'])));

        # On définit le destinataire, l'expéditeur, l'objet du mail et son contenu
        # Pour le destinataire, si on veut en mettre plusieurs, on les sépare par une virgule comme ça :
        # $destinataire = "adresse1@gmail.com,adresse2@gmail.com,adresse3@gmail.com";
       
	   $destinataire = "decalielli@gmail.com";
        $expediteur  = $email;
       
	   # Si on ne veut pas définir d'objet au mail, on peut laisser vide
       
	   $objet = "";
      
	  # Le contenu du mail est le message tapé par le visiteur dans le formulaire
       
	   $contenu_mail = $message;
       
	   # Si on veut que le visiteur soit mis en copie du mail qu'il va envoyer, on définit sur true, sinon false
       
	   $copie = true;

        # On vérifie que la syntaxe de l'adresse mail est correcte
       
	   if(filter_var($email, FILTER_VALIDATE_EMAIL)){
            $headers  = 'MIME-Version: 1.0' . "\n";
            $headers .= 'Content-type: text/html; charset=ISO-8859-1'."\n";
            $headers .= 'Reply-To: '.$expediteur."\n";
            $headers .= 'From: "Nom_de_expediteur"<'.$expediteur.'>'."\n";
            $headers .= 'Delivered-to: '.$destinataire."\n";
            if($copie == true){
                $headers .= 'Cc: '.$expediteur."\n";
            }
            $headers .= "\n";

            # On envoie le mail et on affiche un message en fonction de la réussite de l'envoi
           
		   if(mail($destinataire, $objet, $contenu_mail, $headers)){
                echo "Votre message a bien été envoyé";
            }else{
                echo "Votre message n'a pas pu être envoyé";
            }
        }else{
            echo "L'adresse mail est invalide !";
        }
    }else{
        echo "Le formulaire est incomplet !";
    }
}
?>

Modifié par _laurent (11 Feb 2022 - 15:54)
Modérateur
Et l'eau,

Peux-tu éditer ton post en ajoutant les tags de mise en forme, stp ?
Bonjour Niuxe,
Tout d'abord, je te remercie pour ta réponse. Je vais placer les fichiers dans les emplacements HTML et PHP.

<!DOCTYPE html>
<html lang="fr">
<head>
<title>Contact</title>
<meta charset="utf-8"/>
<meta http-equiv="X_UA-Compatible" content="IE=edge">
<link rel="stylesheet" href="fichier-css/page-menu.css">
<link rel="stylesheet" href="fichier-css/contact.css">
<link rel="stylesheet" href="fichier-css/contact-style.css">
<meta name="viewport" content="width=device=width, initial-scale=1">
<meta name="auteur" content="François de Calielli">
<meta name="description" content="page de contact"/>
<meta name="reply-to" content="decalielli@gmail.com">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" integrity="sha512-Fo3rlrZj/k7ujTnHg4CGR2D7kSs0v4LLanw2qksYuRlEzO+tcaEPQogQ0KaoGN26/zrn20ImR1DfuLWnOo7aBA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>

<body>
<div id="logo">
<img src="fichier-images/logo_atypic.jpg" alt= Le logo de mon site d'auteur />
<img src="fichier-images/Atypical_autoedition.jpg" alt= L'entête du site />
</div>

<div id="barre-menu">
<nav>
<label for="menu-mobile" class="menu-mobile">Menu</label>
<input type="checkbox" id="menu-mobile, role=button">
<ul>
<li class="menu-index"><a href="index.html">Accueil</a></li>
<li class="menu-a_propos"><a href="a_propos.html">A propos de moi</a></li>
<li class="menu-livres"><a href="livres.html">Mes livres</a>
<ul class="submenu">
<li><a href="romans.html">Les romans</a></li>
<li><a href="essais.html">Les essais</a></li>
<li><a href="poesies.html">Les poésies</a></li>
<li><a href="theatre.html">Les pièces de théâtre</a></li>
</ul>
</li>
<li class="menu-contact"><a href="contact.html">Contact</a></li>
<li class="menu-merci"><a href="merci.html">Merci!</a></li>
</ul>
</li>
</nav>
</div>
<div id="colonne-gauche">
<ul>
<div id="fb-root"></div>
<script async defer crossorigin="anonymous" src="https://connect.facebook.net/fr_FR/sdk.js#xfbml=1&version=v12.0" nonce="oFaS9Zcl"></script>
<div class="fb-page" data-href="https://www.facebook.com/decalielli/atypical.autoedition" style="margin-top: 40px" data-tabs="timeline,events,messages" data-width="340" data-height="500" data-small-header="false" data-adapt-container-width="true" data-hide-cover="false" data-show-facepile="true"><blockquote cite="https://www.facebook.com/decalielli/atypical.autoedition" class="fb-xfbml-parse-ignore"><a href="https://www.facebook.com/decalielli/atypical.autoedition">Tribune d'auteurs</a></blockquote></div>
<div style="height:33px; width:98px; display: block; margin-right: auto; margin-left: auto; margin-top: 30px" id="link">
<a href="http://facebook.com/francois.decalielli.902" title="Suivez-moi sur facebook!"><img src="fichier-images/suivez-moi_facebook.png" /></a>
</div>
</ul>
</div>
<div id="contenu">
<form action="post.php" method="post">

<h1>Formulaire de contact</h1>
<div class="separation"></div>
<div class="corps-formulaire"></div>
<div class="gauche">
<div style="margin-top: 20px" class="groupe">
<label style="margin-bottom: 5px" for="prenom">Prénom</label>
<input name="prenom" style="padding: 15px 15px 15px 10px; margin-left: 145px; margin-top: 10px" type="text" minlength="2" maxlength="24" placeholder="prenom" required/>
<div style="margin-top: -40px; margin-left: 20px" class="icone">
<i class="fa fa-user fa-lg fa-fw" aria-hidden="true"></i>
</div>
</div>
<div style="margin-top: 20px" class="groupe">
<label style="margin-bottom: 12px" for="email">E-mail</label>
<input name="email" style="padding: 15px 15px 15px 10px; margin-left: 145px" type="text" placeholder="Saissez un email valide"/>
<div style="margin-top: -45px; margin-left: 20px" class="icone">
<i class="fa fa-envelope-open fa-lg fa-fw" aria-hidden="true"></i>
</div>
</div>
</div>
<div class="droite">
<div style="margin-top: 25px" class="groupe">
<label style="margin-bottom: 10px; margin-left: 5px" for="message">Message</label>
<textarea style="padding-top: 5px; margin-left: 120px; padding-left: 10px" name="message" id="message" cols="30" rows="20" placeholder="Saisissez ici ..." required></textarea>
</div>
</div>
<div class="pied-formulaire">
<input style="margin-left: 25px" type="submit" name="envoyer" value="Envoyer le message"/>
</div>
</form>
</div>
<div id="footer">

</div>
</body>
</html>


<?php

# On vérifie que les champs du formulaire ont été remplis correctement
if(isset($_POST['envoyer'])){
if(!empty($_POST['prenom']) && !empty($_POST['email']) && !empty($_POST['message'])){

# On sécurise les paramètres passés en POST pour les traiter en PHP
$prenom = htmlspecialchars($_POST['prenom']));
$email = htmlspecialchars($_POST['email']));
$message = htmlspecialchars(stripslashes(trim($_POST['message'])));

# On définit le destinataire, l'expéditeur, l'objet du mail et son contenu
# Pour le destinataire, si on veut en mettre plusieurs, on les sépare par une virgule comme ça :
# $destinataire = "adresse1@gmail.com,adresse2@gmail.com,adresse3@gmail.com";

$destinataire = "decalielli@gmail.com";
$expediteur = $email;

# Si on ne veut pas définir d'objet au mail, on peut laisser vide

$objet = "";

# Le contenu du mail est le message tapé par le visiteur dans le formulaire

$contenu_mail = $message;

# Si on veut que le visiteur soit mis en copie du mail qu'il va envoyer, on définit sur true, sinon false

$copie = true;

# On vérifie que la syntaxe de l'adresse mail est correcte

if(filter_var($email, FILTER_VALIDATE_EMAIL)){
$headers = 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=ISO-8859-1'."\n";
$headers .= 'Reply-To: '.$expediteur."\n";
$headers .= 'From: "Nom_de_expediteur"<'.$expediteur.'>'."\n";
$headers .= 'Delivered-to: '.$destinataire."\n";
if($copie == true){
$headers .= 'Cc: '.$expediteur."\n";
}
$headers .= "\n";

# On envoie le mail et on affiche un message en fonction de la réussite de l'envoi

if(mail($destinataire, $objet, $contenu_mail, $headers)){
echo "Votre message a bien été envoyé";
}else{
echo "Votre message n'a pas pu être envoyé";
}
}else{
echo "L'adresse mail est invalide !";
}
}else{
echo "Le formulaire est incomplet !";
}
}
?>


Est-ce que cela est correct ainsi? Merci beaucoup pour ton aide.


[EDIT] Y'avait de la bonne volonté alors je te l'ai corrigé. Il faut mettre ton code ENTRE les balises de mis en forme Smiley lol Ou alors tu sélectionne ton code et tu clique sur la balise ca l'entourera Smiley cligne Laurent
Modifié par _laurent (11 Feb 2022 - 15:55)