Problème formulaire de contact HTML PHP [Résolu]

Signaler
Messages postés
10
Date d'inscription
lundi 14 septembre 2020
Statut
Membre
Dernière intervention
23 septembre 2020
-
Messages postés
10
Date d'inscription
lundi 14 septembre 2020
Statut
Membre
Dernière intervention
23 septembre 2020
-
Bonjour à tous,

Je viens de terminer mon tout premier site (c'est la première fois que je touche au codage), et je rencontre un problème sur mon formulaire de contact, qui me fait une erreur 404 au moment de l'envoie du mail.
Je pense que j'insère mal le php au html, et il y a sûrement des erreurs de codages...
D'ailleurs, le php ne s'affiche pas en couleur.

Pourriez-vous s'il vous plaît, y jeter un oeil ... ce serait vraiment super.
(Je travail sur Atom et je suis hébergé chez Hostinger)

Voici mes codes :
 <!-- Contact -->
     <section id="contact" class="four">
      <div class="container">

       <header>
        <meta charset="utf-8">
        <h2>Contactez-moi</h2>
       </header>

        <p>texte...</p>

        <?php
        if($_POST) {

        $message=$_POST['name'];
        $expediteur .=$_POST['email'];
        $message .=$_POST['message'];

        mail("contact@thibaultcaillaud.com", "sujet du courrier", $message, "From: '.$expediteur.") ;

        }
        ?>

       <form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
        <div class="row">
         <div class="col-6 col-12-mobile"><input type="text" name="name" placeholder="Nom, prénom" /></div>
         <div class="col-6 col-12-mobile"><input type="text" name="email" placeholder="Email" /></div>
         <div class="col-12">
          <textarea name="message" placeholder="Message"></textarea>
         </div>
         <div class="col-12">
          <input type="submit" value="Envoyer le message" />


         </div>
        </div>
       </form>

      </div>
     </section>

   </div>


Merci de votre temps et de votre retour.
Bien à vous
Thibault

2 réponses

Messages postés
29735
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
2 839
Bonjour,

Quelques erreurs dans ton code...
Voici une fois corrigé

<?php
//Affichage des erreurs PHP ( à placer au début de ton fichier php )
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

//récupération propre des variables AVANT de les utiliser
$name = !empty($_POST['name']) ? $_POST['name']: NULL;
$expediteur = !empty($_POST['email']) ? $_POST['email']: NULL;
$message = !empty($_POST['message']) ? $_POST['message']: NULL;

if($name && $message) {
	$to = "contact@thibaultcaillaud.com";
	$subject = "sujet du courrier";
	
	// Always set content-type when sending HTML email
	$headers = "MIME-Version: 1.0" . "\r\n";
	$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
	// More headers
	$headers .= 'From: '.$expediteur. "\r\n"; // Attention... certains hébergeurs n'autorisent que des from provenant du même domaine que ton site web !
	
	
	
	if(mail($to, $subject, $message,$headers)) {
		echo "Mail envoyé";
	}else{
		echo " Erreur lors de l'envoi du mail";
	}

}
?>
 
 <!Doctype html>
 <html>
	<!-- 
	Le reste de ton code....
	...
	-->
	
	
 <!-- Contact -->
<section id="contact" class="four">
	<div class="container">

		<header>
			<meta charset="utf-8">
			<h2>Contactez-moi</h2>
		</header>

		<p>texte...</p>


		<form method="post" action="" method="post">
		  <div class="row">
			<div class="col-6 col-12-mobile">
			  <input type="text" name="name" placeholder="Nom, prénom" />
			</div>
			<div class="col-6 col-12-mobile">
			  <input type="text" name="email" placeholder="Email" />
			</div>
			<div class="col-12">
			  <textarea name="message" placeholder="Message"></textarea>
			</div>
			<div class="col-12">
			  <input type="submit" value="Envoyer le message" />
			</div>
		  </div>
		</form>

	</div>
 </section>

</div>


Et au passage, quelques conseils pour tes futurs scripts
https://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code

.
Messages postés
10
Date d'inscription
lundi 14 septembre 2020
Statut
Membre
Dernière intervention
23 septembre 2020

Bonjour,

Merci pour ce retour.
Je viens d'essayer et les codes php ne s'affiche pas en couleur... comme si ATOM ne reconnaissait pas.

Ensuite au niveau du site, quand j'envoie le mail, cela à pour effet de rafraîchir mon site et de me changer tous les "é" ou "à" en caractères spéciaux.

Qu'en pensez vous?
Merci de votre temps.
Thibault
Messages postés
10
Date d'inscription
lundi 14 septembre 2020
Statut
Membre
Dernière intervention
23 septembre 2020
>
Messages postés
29735
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020

Très bien. Voici le lien vers ma page : www.thibaultcaillaud.com
Et voici le codage complet de ma page/site :
<?php

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

//récupération propre des variables AVANT de les utiliser
$name = !empty($_POST['name']) ? $_POST['name']: NULL;
$expediteur = !empty($_POST['email']) ? $_POST['email']: NULL;
$message = !empty($_POST['message']) ? $_POST['message']: NULL;

if($name && $message) {
 $to = "contact@thibaultcaillaud.com";
 $subject = "$name";

 // Always set content-type when sending HTML email
 $headers = "MIME-Version: 1.0" . "\r\n";
 $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
 // More headers
 $headers .= 'From: '.$expediteur. "\r\n"; // Attention... certains hébergeurs n'autorisent que des from provenant du même domaine que ton site web !



 if(mail($to, $subject, $message,$headers)) {
  echo "Mail envoyé";
 }else{
  echo " Erreur lors de l'envoi du mail";
 }

}
?>

<!DOCTYPE HTML>
<!--
 Prologue by HTML5 UP
 html5up.net | @ajlkn
 Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-->

<html>
 <head>
  <title>Thibault - Praticien Holistique</title>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
  <link rel="stylesheet" href="assets/css/main.css" />
 </head>
 <body class="is-preload">

  <!-- Header -->
   <div id="header">

    <div class="top">

     <!-- Logo -->
      <div id="logo">
       <span class="image avatar48"><img src="images/Logo Thibault AY AM carré.jpg" alt="" /></span>
       <h1 id="title">Thibault Caillaud</h1>
       <p>Praticien Holistique</p>
      </div>

     <!-- Nav -->
      <nav id="nav">
       <ul>
        <li><a href="#top" id="top-link"><span class="icon solid fa-home">Accueil</span></a></li>
        <li><a href="#portfolio" id="portfolio-link"><span class="icon solid fa-th">Activités</span></a></li>
        <li><a href="#about" id="about-link"><span class="icon solid fa-user">Qui suis-je ?</span></a></li>
        <li><a href="#contact" id="contact-link"><span class="icon solid fa-envelope">Contactez-moi</span></a></li>
       </ul>
      </nav>

    </div>

    <div class="bottom">

     <!-- Social Icons -->
      <ul class="icons">
       <li><a href="https://www.facebook.com/ThibEnergie" target="_blank" class="icon brands fa-facebook-f"><span class="label">Facebook</span></a></li>
       <li><a href="https://www.instagram.com/thibault_caillaud/?hl=fr" target="_blank" class="icon brands fa-instagram"><span class="label">Instagram</span></a></li>
       <li><a href="https://paypal.me/thibaultcaillaud?locale.x=fr_FR" target="_blank" class="icon brands fa-paypal"><span class="label">PayPal</span></a></li>
       <li><a href="#contact" class="icon solid fa-envelope"><span class="label">Email</span></a></li>
      </ul>

    </div>

   </div>

  <!-- Main -->
   <div id="main">

    <!-- Accueil -->
     <section id="top" class="one dark cover">
      <div class="container">

       <header>
        <h2 class="alt">Re-<strong>Découvrez</strong>, Qui Vous Êtes</h2>
        <p><strong>« Vous n'êtes pas une goutte dans l'océan.<br />
        Vous êtes l'océan tout entier dans une goutte d'eau. » Rûmi</strong></p>
       </header>

       <footer>
        <a href="#portfolio" class="button scrolly">Découvrez mes pratiques</a>
       </footer>

      </div>
     </section>

    <!-- Activités -->
     <section id="portfolio" class="two">
      <div class="container">

       <header>
        <h2>Activités</h2>
       </header>

       <p>Découvrez mes pratiques, qui au travers de différentes méthodes<br /> et en fonction de votre besoin, ont un regard holistique, global, de votre Être.<br />
        Vous souhaitez apaiser un mal-être physique, émotionnel, psychique ou<br /> harmoniser un lieu de vie chargé de mémoires ?<br />
        Vous souhaitez aller au-delà du regard que vous avez de vous-même<br /> et découvrir la Grande Présence qui siège au creux de votre Être ?<br />
        Je suis à votre service, en partage de mes outils, pour le bien de petits et grands ...</p>

       <div class="row">
        <div class="col-4 col-12-mobile">
         <article class="item">
          <a href="Pdfs/Ostéothérapie, Thibault Caillaud.pdf" target="_blank" class="image fit"><img src="images/squelette osteo.jpg" alt="" /></a>
          <header>
           <h3><a href="Pdfs/Ostéothérapie, Thibault Caillaud.pdf" target="_blank"> Ostéothérapie</a></h3>
          </header>
         </article>
         <article class="item">
          <a href="Pdfs/Libération mémorielle, Thibault Caillaud.pdf" target="_blank" class="image fit"><img src="images/libération memorielle.webp" alt="" /></a>
          <header>
           <h3><a href="Pdfs/Libération mémorielle, Thibault Caillaud.pdf" target="_blank"> Libération mémorielle</a></h3>
          </header>
         </article>
        </div>
        <div class="col-4 col-12-mobile">
         <article class="item">
          <a href="Pdfs/Guérison énergétique, Thibault Caillaud.pdf" target="_blank" class="image fit"><img src="images/énergétique galaxy.jpg" alt="" /></a>
          <header>
           <h3><a href="Pdfs/Guérison énergétique, Thibault Caillaud.pdf" target="_blank"> Guérison énergétique</a></h3>
          </header>
         </article>
         <article class="item">
          <a href="Pdfs/Déploiement de l Être, Thibault Caillaud.pdf" target="_blank" class="image fit"><img src="images/Christ cosmique.jpg" alt="" /></a>
          <header>
           <h3><a href="Pdfs/Déploiement de l Être, Thibault Caillaud.pdf" target="_blank"> Déploiement de l'Être</a></h3>
          </header>
         </article>
        </div>
        <div class="col-4 col-12-mobile">
         <article class="item">
          <a href="Pdfs/Nettoyage de lieux, Thibault Caillaud.pdf" target="_blank" class="image fit"><img src="images/nettoyage maison.jpg" alt="" /></a>
          <header>
           <h3><a href="Pdfs/Nettoyage de lieux, Thibault Caillaud.pdf" target="_blank"> Nettoyage de votre lieu</a></h3>
          </header>
         </article>
         <article class="item">
          <a href="Pdfs/Ateliers & formations, Thibault Caillaud.pdf" target="_blank" class="image fit"><img src="images/team atelier.webp" alt="" /></a>
          <header>
           <h3><a href="Pdfs/Ateliers & formations, Thibault Caillaud.pdf" target="_blank"> Ateliers & Formations</a></h3>
          </header>
         </article>
        </div>
       </div>

      </div>
      </section>

    <!-- About Me -->
     <section id="about" class="three">
      <div class="container">

       <header>
        <h2>Qui suis-je ?</h2>
       </header>

       <a href="#" class="image featured"><img src="images/me cascade.jpg" alt="" /></a>

       <p>Je me présente, Thibault Caillaud, né en la ville de Saintes, dans la belle Charente-Maritime (17).
        Amoureux de la nature, j’ai grandi autour des animaux de la ferme, des cours d’eaux et de l’océan,
        où ma sensibilité en a été apprivoisée.
        Très vite je découvre des échanges énergétiques, émotionnelles, mentales, qui tout d’abord me laissent
        quelque peu dans l’incompréhension de ceux-ci, mais me poussent à aller observer au-delà de l’image que
        j’en avais d’eux. Je découvre alors les masques, les blessures, et une multitude de dimensions propres à
        chaque humains. Je m’en passionne, dans un élan guidé par mon cœur.
        Suite à des échecs de vie, de lourds chocs émotionnels et de profondes remises en questions, La Vie
        m’a amené à rencontrer des personnes clefs dans une fluidité d’étapes, de cycles, qui m’ont propulsé
        au Cœur de mon Être.<br /> Jusqu’au jour où toutes mes portes intérieures se sont ouvertes.
        Un grand choc, qui me demanda quelques années à équilibrer tout ce qui pouvait me traverser, poussé par
        une Foi profonde et alimenté par une fluidité d’expériences en guise d’apprentissages.<br />
        La compréhension et la fusion avec certaines sphères de ce Monde et plus particulièrement celle de
        ma Grande Présence, étaient nées.
        Chemin faisant, je partage et apprends au gré des vents.</p>

      </div>
     </section>

    <!-- Contact -->
     <section id="contact" class="four">
      <div class="container">

       <header>
        <meta charset="utf-8">
        <h2>Contactez-moi</h2>
       </header>

        <p>Si vous en ressentez l’appel, vous pouvez me contacter par ce biais pour toutes demandes, prises de rendez-vous ou échanges.<br />
        Je reste également disponible par téléphone, au 06.77.67.27.68.</p>

       <form method="post" action="" method="post">
        <div class="row">
         <div class="col-6 col-12-mobile"><input type="text" name="name" placeholder="Nom, prénom" /></div>
         <div class="col-6 col-12-mobile"><input type="text" name="email" placeholder="Email" /></div>
         <div class="col-12">
          <textarea name="message" placeholder="Message"></textarea>
         </div>
         <div class="col-12">
          <input type="submit" value="Envoyer le message" />


          <br />
          <br />
          <br />

       <p>En dehors de l'ostéothérapie, toutes mes séances sont en <strong>participation libre et consciente</strong>.<br />
          C'est du temps du coeur, à vous d'estimer cela à hauteur de ce qui vous semble juste.<br />
          <br />
          Au plaisir de partager avec vous.</p>

          <br />

          <a href="#" class="image featured"><img src="images/Soleil citation.jpg" alt="" /></a>


         </div>
        </div>
       </form>

      </div>
     </section>

   </div>

  <!-- Footer -->
   <div id="footer">

    <!-- Copyright -->
     <ul class="copyright">
      <li>© 2020 Thibault Caillaud. Tous droits réservés.</li><li>Design: <a href="http://html5up.net">HTML5 UP</a></li>
     </ul>

   </div>

  <!-- Scripts -->
   <script src="assets/js/jquery.min.js"></script>
   <script src="assets/js/jquery.scrolly.min.js"></script>
   <script src="assets/js/jquery.scrollex.min.js"></script>
   <script src="assets/js/browser.min.js"></script>
   <script src="assets/js/breakpoints.min.js"></script>
   <script src="assets/js/util.js"></script>
   <script src="assets/js/main.js"></script>

 </body>
</html>


Message modifié par la modération
Pour une lecture plus facile du code, à l'avenir utilisez les balises, VOIR CETTE PAGE
Messages postés
29735
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
2 839 >
Messages postés
10
Date d'inscription
lundi 14 septembre 2020
Statut
Membre
Dernière intervention
23 septembre 2020

Messages postés
10
Date d'inscription
lundi 14 septembre 2020
Statut
Membre
Dernière intervention
23 septembre 2020
>
Messages postés
29735
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020

Effectivement ! Un grand merci pour votre aide et votre temps.

Pour vous remercier je vous propose une séance de votre choix, que je vous offrirai.
Vous avez mes coordonnées.

Belle journée.
Thibault
Messages postés
29735
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
2 839 >
Messages postés
10
Date d'inscription
lundi 14 septembre 2020
Statut
Membre
Dernière intervention
23 septembre 2020

A la limite, si tu veux que le message s'affiche sans avoir à remonter tout en haut de la page...
tu pourrais, par exemple faire :
 if(mail($to, $subject, $message,$headers)) {
  echo "<script type='text/javascript'>alert('Mail envoyé');</script>";
 }else{
   echo "<script type='text/javascript'>alert('Erreur lors de l'envoi du mail');</script>";

 }
Messages postés
10
Date d'inscription
lundi 14 septembre 2020
Statut
Membre
Dernière intervention
23 septembre 2020
>
Messages postés
29735
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020

Merci, c'est top !
Au plaisir
Thibault