Problème formulaire de contact HTML PHP

Résolu/Fermé
Twibault Messages postés 10 Date d'inscription lundi 14 septembre 2020 Statut Membre Dernière intervention 23 septembre 2020 - Modifié le 21 sept. 2020 à 15:17
Twibault Messages postés 10 Date d'inscription lundi 14 septembre 2020 Statut Membre Dernière intervention 23 septembre 2020 - 23 sept. 2020 à 00:13
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

jordane45 Messages postés 36880 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 31 janvier 2023 4 479
21 sept. 2020 à 20:03
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://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code

.
0
Twibault Messages postés 10 Date d'inscription lundi 14 septembre 2020 Statut Membre Dernière intervention 23 septembre 2020
21 sept. 2020 à 20:23
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
0
jordane45 Messages postés 36880 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 31 janvier 2023 4 479
22 sept. 2020 à 00:12
Bonjour,
Pour ce qui est de la coloration syntaxique.... ça n'a rien à voir avec un souci sur le langage de programmation PHP mais une configuration de ton IDE ( Atom ) . ça ne sera donc pas traité sur ce forum.
Perso, Notepad++, Netbeans, Visual Studio Code sont, à mon avis de bien meilleurs IDE pour du dev php.... (mais ce n'est que mon avis )

Puis :

Ensuite au niveau du site, quand j'envoie le mail, cela à pour effet de rafraîchir mon site

Et oui... c'est comme ça que ça marche un formulaire...,


et de me changer tous les "é" ou "à" en caractères spéciaux.

Pour ce qui est de ton souci de caractères accentués, cela vient de l'encodage de tes fichiers...
commence par ça :
https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
0
Twibault Messages postés 10 Date d'inscription lundi 14 septembre 2020 Statut Membre Dernière intervention 23 septembre 2020 > jordane45 Messages postés 36880 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 31 janvier 2023
22 sept. 2020 à 08:33
Merci de ton aide, je vais y regarder. Par contre j'imagine que malgré cela je devrais quand même recevoir le mail non? Car ça ne marche toujours pas. :-/
0
jordane45 Messages postés 36880 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 31 janvier 2023 4 479 > Twibault Messages postés 10 Date d'inscription lundi 14 septembre 2020 Statut Membre Dernière intervention 23 septembre 2020
22 sept. 2020 à 09:11
Tu ne reçois pas de mail... ok ...mais as tu quelque chose qui s'affiche sur ta page ?
Vois tu le résultat du echo "Mail envoyé" ?
Si oui.. mais que tu ne reçois rien... regarde bien le commentaire que j'ai mis dans ton code....
0
Twibault Messages postés 10 Date d'inscription lundi 14 septembre 2020 Statut Membre Dernière intervention 23 septembre 2020 > jordane45 Messages postés 36880 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 31 janvier 2023
22 sept. 2020 à 09:28
Oui j'ai bien vérifié et je n'ai rien du tout, pas d'echo, pas de mail. Juste la page qui se rafraîchit...
0
jordane45 Messages postés 36880 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 31 janvier 2023 4 479 > Twibault Messages postés 10 Date d'inscription lundi 14 septembre 2020 Statut Membre Dernière intervention 23 septembre 2020
22 sept. 2020 à 10:35
Ton fichier se nomme comment ??
C'est bien un fichier .php ? ( pas .html !! )
0