Formulaire contact, sur site auto-hébergé
Posté : 24 mars 2021, 13:56
Bonjour à toutes et à tous.
nouvellement fibré chez free, j'en ai profité pour héberger mon site web sur mon nas Synology DS416 play.
J'ai donc chopé un template gratuit en html/css responsive qui me plait bien. jusque là pas de problème. mais le formulaire contact ne fonctionne pas : normal, y a pas de php dans le code.
J'ai donc fureté sur le web pour essayer de comprendre, mais j'arrive pas à le faire fonctionner depuis mon template. Par contre quand je test avec un formulaire trouvé sur le web ça fonctionne, et je reçois bien un mail sur ma boite gmail.
code ok :
si vous voulez faire un test : fassihb.synology.me
pour le template :

Merci d'avance.
nouvellement fibré chez free, j'en ai profité pour héberger mon site web sur mon nas Synology DS416 play.
J'ai donc chopé un template gratuit en html/css responsive qui me plait bien. jusque là pas de problème. mais le formulaire contact ne fonctionne pas : normal, y a pas de php dans le code.
J'ai donc fureté sur le web pour essayer de comprendre, mais j'arrive pas à le faire fonctionner depuis mon template. Par contre quand je test avec un formulaire trouvé sur le web ça fonctionne, et je reçois bien un mail sur ma boite gmail.
code ok :
<?php
//Ecrivez votre adresse e-mail entre les guillemets
$destinataire='[email protected]';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "[http://www.w3.org/TR/html4/strict.dtd]">
<html lang="fr">
<head>
<title>Contact</title>
<style type="text/css">
form#contact{border:2px solid red;width:70%;padding:1em}
p#msg,p#adr,p#obj{border:2px solid green;margin-right:10%;padding:10px}
p#msg textarea{border:2px solid blue;height:30em;width:80%}
p#adr input,p#obj input{border:2px solid blue}
p.bt{text-align:center}
p.bt input{border:1px red solid;width:50%}
</style>
<meta http-equiv="content-type" content="Content-type:text/html;charset=iso-8859-1">
</head>
<body style="direction: ltr;">
<h1>Contact</h1>
<?php
$Previsualiser='<p class="bt">
<input type="submit" name="previsualiser" tabindex="3" value="Prévisualiser"></p>';
$Envoi="\n".'<p class="bt">
<input name="envoi" tabindex="4" value="Envoyer" type="submit"></p>';
if (isset($_POST['message']))
{
// La variable $verif va nous permettre d'analyser si la sémantique de l'email est bonne
$verif='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
//quelques remplacements pour les specialchars
$message=preg_replace('#(<|>)#', '-', $_POST['message']);
$message=str_replace('"', "'",$message);
$message=str_replace('&', 'et',$message);
$objet=preg_replace('#(<|>)#', '-', $_POST['objet']);
$objet=str_replace('"', "'",$objet);
$objet=str_replace('&', 'et',$objet);
// On assigne et/ou protège nos variables
$votremail=stripslashes(htmlentities($_POST['votremail']));
$message=stripslashes(htmlspecialchars($message));
$objet=stripslashes(htmlspecialchars($objet));
//input envoi/previsualiser
$envoi=htmlentities($_POST['envoi']);
$previsualiser=htmlentities($_POST['previsualiser']);
//on enlève les espaces
$votremail=trim($votremail);
$message=trim($message);
$objet=trim($objet);
$apercu_resultat='<p>Aperçu du résultat :</p>';
/*On vérifie si l'e mail et le message sont pleins, et on agit en fonction.
(on affiche Apercu du resultat, tel ou tel champ est vide, etc...*/
//Si ca ne vas pas (mal rempli, mail non valide...)
if((empty($message))or(empty($objet))or(!preg_match($verif,$votremail)))
{
//les 3 champs sont vides
if(empty($votremail)and(empty($message))and(empty($objet)))
{
echo '<p>Tous les champs sont vides.</p>';
$message='';$votremail='';$objet='';$apercu_resultat='';
}
//un des champs est vide
else
{
if(!preg_match($verif,$votremail))
echo'<p>Votre adresse e-mail n\'est pas valide.</p>';
else
{
echo'<p>Il faut remplir tous les champs !</p>';
if(empty($message))
$apercu_resultat='';
}
}
}
//Si les deux sont pleins et que l'adresse est valide, on envoie on on prévisualise sans envoi
else
{
$domaine=preg_replace('#[^@]+@(.+)#','$1',$votremail);
$DomaineMailExiste=checkdnsrr($domaine,'MX');
if(!$DomaineMailExiste)
echo'<p>Le nom de domaine de l\'adresse e-mail que vous avez donné n\'existe pas.</p>';
elseif(!empty($previsualiser))
{
$apercu_resultat='<p>Votre message et votre adresse e-mail sont valides et prêts à être envoyés.
<br>Vous n\'avez plus qu\'à cliquer sur le bouton "Envoyer".<br>Prévisualisation :</p>';
$Previsualiser='';
}
elseif(!empty($envoi))
{
$objet='[envoyé depuis mon site web] : '.$objet;
$headers='From:'.$votremail."\r\n".'To:'.$mail."\r\n".'Subject:'.$objet."\r\n".'Content-type:text/plain;charset=iso-8859-1'."\r\n".'Sent:'.date('l, F d, Y H:i');
if(mail($destinataire,$objet,$message,$headers))
{
echo '<p>Votre message a bien été envoyé. Merci.</p><p><a href="/">Retour à la page d\'accueil</a></p>';
$Envoi='';
$Previsualiser='';
}
else
echo'<p>Un problème est survenu durant l\'envoi du mail.</p>';
}
else
echo'<p>Une condition innatendue est survenue lors de l\'exécution du script.</p>';
}
echo $apercu_resultat;
}
else
{
echo '<p>Vous pouvez utiliser ce formulaire pour me contacter.</p>';
$votremail='';$message='';
}
$bas_formulaire=$Previsualiser.$Envoi;
?>
<form id='contact' method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" enctype="multipart/form-data">
<p id='obj'><label for='objet'>Objet de votre message :<br>
<input type='text' name='objet' id='objet' tabindex='10' size='30'></label></p>
<p id="adr"><label for="mail">Votre Adresse E-mail<br>
<input name="votremail" tabindex="20" size="30" type="text" id="mail" value="<?php echo $votremail; ?>"></label></p>
<p id="msg"><label for="message">Votre message<br>
<textarea tabindex="30" rows="20" cols="120" name="message" id="message"><?php echo $message; ?></textarea>
</label></p>
<?php echo $bas_formulaire;?>
</form>
</body>
</html>
par contre quand j'essaye de le transposer sur mon template, ça ne fonctionne pas... et là je m'arrache les cheveuxsi vous voulez faire un test : fassihb.synology.me
pour le template :
<?php
//Ecrivez votre adresse e-mail entre les guillemets
$destinataire='[email protected]';
?><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Fassih Belmokhtar - Photographe indépendant" />
<meta name="keywords" content="blog, business card, creative, creative portfolio, cv theme, online resume, personal, portfolio, professional cv, responsive portfolio, resume, resume theme, vcard" />
<meta name="author" content="Fassih Belmokhtar" />
<title>Fassih Belmokhtar - Photographe indépendant</title>
<!--favicon-img-->
<link rel="icon" type="image/png" href="images/favicon.png">
<!--favicon-img-->
<!--main css file should not be removed -->
<link rel="stylesheet" href="css/index.css">
<!--main css file-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.2.6/gsap.min.js"></script>
</head>
<body>
<!--contains all the div-->
<div id="all">
<!--mouse follower-->
<div class="cursor"></div>
<!--mouse follower-->
<!--loader-->
<div id="loader">
<span class="color">Fassih</span>BELMOKHTAR
</div>
<!--loader-end-->
<!--link-screen-->
<div id="breaker">
</div>
<div id="breaker-two">
</div>
<!--link-screen-->
<!--Main-Section-->
<!--Navigator-fullscreen-->
<div id="navigation-content">
<div class="logo">
<img src="images/willy wonka logo.png" alt="logo">
</div>
<div class="navigation-close">
<span class="close-first"></span>
<span class="close-second"></span>
</div>
<div class="navigation-links">
<a href="#" data-text="RETOUR" id="home-link" >RETOUR</a>
<a href="#" data-text="À PROPOS" id="about-link" >À PROPOS</a>
<a href="#" data-text="PORTFOLIO" id="portfolio-link" >PORTFOLIO</a>
<a href="#" data-text="ASTRONOMIE" id="blog-link" >ASTRONOMIE</a>
<a href="#" data-text="CONTACT" id="contact-link" >CONTACT</a>
</div>
</div>
<!--Navigator-Fullscreen END-->
<!--Home Page-->
<!--Menubar-->
<div id="navigation-bar">
<img src="images/willy wonka logo.png" alt="logo">
<div class="menubar">
<span class="first-span"></span>
<span class="second-span"></span>
<span class="third-span"></span>
</div>
</div>
<!--Menubar End-->
<!--Header-->
<div id="header">
<div id="particles"></div>
<!--Social Media Links-->
<div class="social-media-links">
<a href="#"><img src="images/instagram logo.png" class="social-media" alt="instagram-logo"></a><!--Your instagram homepage link inser in place of "#"-->
<a href="#"><img src="images/facebook logo.png" class="social-media" alt="facebook-logo"></a>
<a href="#"><img src="images/linkedin logo.png" class="social-media" alt="linkedin-logo"></a>
<a href="#"><img src="images/twitter logo.png" class="social-media" alt="twitter-logo"></a>
</div>
<!--Social Media Links end-->
<div class="header-content">
<div class="header-content-box">
<div class="firstline"><span class="color">Fassih </span>Belmokhtar</div>
<div class="secondline">
Je suis
<span class="txt-rotate color" data-period="1200"data-rotate='[ " Photographe.", " Freelance.", " Astronome Amateur." ]'></span>
<span class="slash">|</span>
</div>
<div class="contact">
<a href="Mailto:#"><img src="images/mail.png" alt="email-pic" class="contactpic"></a><!--Your email Id write in place of "#"-->
<a href="Tel:#"><img src="images/call.png" alt="phone-pic" class="contactpic"></a><!--Your telephone number Id write in place of "#"-->
</div>
</div>
</div>
<!--header image-->
<div class="header-image">
<img src="images/man.jpg" alt="logo">
</div>
<!--header image end-->
</div>
<!--Header End-->
<!--HomePage End-->
<!--Main-Section End-->
<!--about-->
<div id="about">
<div class="color-changer">
<div class="color-panel">
<img src="images/gear.png" alt="">
</div>
<div class="color-selector">
<div class="heading">Custom Colors</div>
<div class="colors">
<ul >
<li>
<a href="#0" class="color-red " title="color-red"></a>
</li>
<li>
<a href="#0" class="color-purple" title="color-purple"></a>
</li>
<li>
<a href="#0" class="color-malt" title="color-malt"></a>
</li>
<li>
<a href="#0" class="color-green" title="color-green"></a>
</li>
<li>
<a href="#0" class="color-blue" title="color-blue"></a>
</li>
<li>
<a href="#0" class="color-orange" title="color-orange"></a>
</li>
</ul>
</div>
</div>
</div>
<!--about content-->
<div id="about-content">
<div class="about-header">
À propos <span class="color">de moi</span>
<span class ="header-caption">Faisons <span class="color"> connaissance.</span></span>
</div>
<div class="about-main">
<div class="about-first-paragraph wow">
<!--about description-->
<span class="about-first-line">
Je suis
<span class="color">photographe indépendant</span>
basé à Thonon-Les-Bains, en Haute-Savoie </span>
<br>
<span class="about-second-line"> With 20 years of experience as a professional Web developer, I have acquired the skills and knowledge necessary to make your project a success. I enjoy every step while working.</span>
<div class="cv">
<a href="#"><button>Download <span class="colors">CV</span></button></a>
</div>
</div>
<!--about picture-->
<div class="about-img">
<img src="images/about.jpg" alt="Your Image">
</div>
</div>
</div>
<!--services start-->
<div id="services">
<div class="color-changer">
<div class="color-panel">
<img src="images/gear.png" alt="">
</div>
<div class="color-selector">
<div class="heading">Custom Colors</div>
<div class="colors">
<ul >
<li>
<a href="#0" class="color-red " title="color-red"></a>
</li>
<li>
<a href="#0" class="color-purple" title="color-purple"></a>
</li>
<li>
<a href="#0" class="color-malt" title="color-malt"></a>
</li>
<li>
<a href="#0" class="color-green" title="color-green"></a>
</li>
<li>
<a href="#0" class="color-blue" title="color-blue"></a>
</li>
<li>
<a href="#0" class="color-orange" title="color-orange"></a>
</li>
</ul>
</div>
</div>
</div>
<!--services header-->
<div class="services-heading wow">
<span class="color">My</span> Services
</div>
<!--services header end-->
<!--services content-->
<div class="services-content">
<div class="service-one service wow">
<div class="service-img">
<img src="images/coding.png" alt="service-one">
</div>
<div class="service-description">
<h2>Web Designing</h2>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quod quibusdam possimus</p>
</div>
</div>
<div class="service-two service wow">
<div class="service-img">
<img src="images/instagram.png" alt="service-two">
</div>
<div class="service-description">
<h2>Social Media</h2>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quod quibusdam possimus</p>
</div>
</div>
<div class="service-three service wow">
<div class="service-img">
<img src="images/bulb.png" alt="service-three">
</div>
<div class="service-description">
<h2>Creative Design</h2>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quod quibusdam possimus</p>
</div>
</div>
</div>
</div>
<!--services content end-->
<!--services end-->
<div id="skills">
<div class="skills-header">
My <span class="color"> Skills</span>
</div>
<div class="skills-content " style="text-align: center;">
<div class="skill-html skill">
<div class="skill-text">
<div class="html">
HTML/CSS
</div>
</div>
<div class="html-prog wow prog">
<div class="html-progress wow">95%</div>
</div>
</div>
<div class="skill-html skill">
<div class="skill-text">
<div class="html">
Javascript
</div>
</div>
<div class="html-prog wow prog">
<div class="js-progress wow">90%</div>
</div>
</div>
<div class="skill-html skill">
<div class="skill-text">
<div class="html">
Adobe Ps
</div>
</div>
<div class="html-prog wow prog">
<div class="adobe-progress wow">83%</div>
</div>
</div>
<div class="skill-html skill">
<div class="skill-text">
<div class="html">
PHP
</div>
</div>
<div class="html-prog wow prog">
<div class="php-progress wow">87%</div>
</div>
</div>
<div class="skill-html skill">
<div class="skill-text">
<div class="html">
JQuery
</div>
</div>
<div class="html-prog wow prog">
<div class="jquery-progress wow">94%</div>
</div>
</div>
<div class="skill-html skill">
<div class="skill-text">
<div class="html">
SEO
</div>
</div>
<div class="html-prog wow prog">
<div class="seo-progress wow">84%</div>
</div>
</div>
</div>
</div>
<!--copyright-section You Can Remove After Downloading-->
<div class="footer">
<div class="footer-text">
<img src="./images/copyright.png" alt="copyright-img" class="images" height="14px"> Fassih Belmokhtar - 2021
</div>
</div>
<!--copyright-section-->
</div>
<!--about end-->
<!--portfolio-->
<div id="portfolio">
<div class="color-changer">
<div class="color-panel">
<img src="images/gear.png" alt="">
</div>
<div class="color-selector">
<div class="heading">Custom Colors</div>
<div class="colors">
<ul >
<li>
<a href="#0" class="color-red " title="color-red"></a>
</li>
<li>
<a href="#0" class="color-purple" title="color-purple"></a>
</li>
<li>
<a href="#0" class="color-malt" title="color-malt"></a>
</li>
<li>
<a href="#0" class="color-green" title="color-green"></a>
</li>
<li>
<a href="#0" class="color-blue" title="color-blue"></a>
</li>
<li>
<a href="#0" class="color-orange" title="color-orange"></a>
</li>
</ul>
</div>
</div>
</div>
<div class="portfolio-header"> <span class="color"> My </span> Portfolio
<span class ="header-caption"> Some Of My <span class="color"> Works</span></span></div>
<div id="portfolio-content">
<div class="portfolio portfolio-first">
<div class="portfolio-image">
<img src="images/portfolio-first.jpg" alt="portfolio-first">
</div>
<div class="portfolio-text">
<h2>App Idea</h2>
<p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Ad ut optio repellat cupiditate
expedita eius dignissimos. Id cumque placeat minima ad laudantium suscipit voluptatem ducimus</p>
<div class="button"><a href="#"><button><span class="index"> View Project<i class="gg-arrow-right"></i></span></button></a></div>
</div>
</div>
<div class="portfolio portfolio-second">
<div class="portfolio-image">
<img src="images/portfolio-second.jpg" alt="portfolio-second">
</div>
<div class="portfolio-text">
<h2>Web Designing</h2>
<p>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Id cumque placeat minima ad laudantium suscipit
voluptatem ducimus. Id cumque placeat minima ad laudantium suscipit voluptatem ducimus</p>
<div class="button"><a href="#"><button><span class="index"> View Project<i class="gg-arrow-right"></i></span></button></a></div>
</div>
</div>
<div class="portfolio portfolio-third">
<div class="portfolio-image">
<img src="images/portfolio-third.jpg" alt="portfolio-third">
</div>
<div class="portfolio-text">
<h2>UI Designing</h2>
<p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Ad ut optio repellat cupiditate expedita eius dignissimos
.. Id cumque placeat minima ad laudantium suscipit voluptatem ducimus</p>
<div class="button"><a href="#"><button><span class="index"> View Project<i class="gg-arrow-right"></i></span></button></a></div>
</div>
</div>
<div class="portfolio portfolio-fourth">
<div class=" portfolio-image">
<img src="images/portfolio-fourth.jpg" alt="portfolio-fourth">
</div>
<div class="portfolio-text">
<h2>Wow Graphics</h2>
<p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Ad ut optio repellat cupiditate
expedita eius dignissimos. Id cumque placeat minima ad laudantium suscipit voluptatem ducimus</p>
<div class="button"><a href="#"><button><span class="index"> View Project<i class="gg-arrow-right"></i></span></button></a></div>
</div>
</div>
</div>
<!--copyright-section You Can Remove After Downloading-->
<div class="footer">
<div class="footer-text">
<img src="./images/copyright.png" alt="copyright-img" class="images" height="14px"> Fassih Belmokhtar - 2021
</div>
</div>
<!--copyright-section-->
</div>
<!--portfolio end-->
<!--blog-->
<div id="blog">
<div class="color-changer">
<div class="color-panel">
<img src="images/gear.png" alt="">
</div>
<div class="color-selector">
<div class="heading">Custom Colors</div>
<div class="colors">
<ul >
<li>
<a href="#0" class="color-red " title="color-red"></a>
</li>
<li>
<a href="#0" class="color-purple" title="color-purple"></a>
</li>
<li>
<a href="#0" class="color-malt" title="color-malt"></a>
</li>
<li>
<a href="#0" class="color-green" title="color-green"></a>
</li>
<li>
<a href="#0" class="color-blue" title="color-blue"></a>
</li>
<li>
<a href="#0" class="color-orange" title="color-orange"></a>
</li>
</ul>
</div>
</div>
</div>
<div class="blog-header"> Blogs</span>
<span class ="header-caption"> My Latest <span class="color"> blog posts.</span></span></div>
<div class="blog-content">
<div class="blogs">
<a href="#">
<div class="img">
<img src="images/post-one.jpg" alt="blog-one">
<div class="blog-date">8 May,20</div>
</div>
<div class="blog-text">
<h3>Harleys In Hawaai</h3>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Possimus alias dolore recusandae illum, corrupti quo
veniam saepe aliquid! Quis voluptates ratione consequuntur vel, perferendis cum provident? Magnam fugiat voluptas
libero.</p>
</div></a>
</div>
<div class="blogs">
<a href="#">
<div class="img">
<img src="images/post-two.jpg" alt="blog-two">
<div class="blog-date">16 Jan,20</div>
</div>
<div class="blog-text">
<h3>Key To Be Productive</h3>
<p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Incidunt maiores,
recusandae cupiditate ducimus a non tempora, architecto obcaecati eaque ipsum assumenda harum dolorum iusto tenetur
eius eligendi dolor magnam sit!</p>
</div></a>
</div>
<div class="blogs">
<a href="#">
<div class="img">
<img src="images/post-three.jpg" alt="blog-three">
<div class="blog-date">30 Nov,19</div>
</div>
<div class="blog-text">
<h3>Caffeine Addict</h3>
<p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Nemo nostrum impedit
ipsam perspiciatis ratione sapiente quasi optio reprehenderit, labore consequuntur suscipit cum quas.
Officiis dolorem asperiores, ut necessitatibus quas doloremque?</p>
</div></a>
</div>
<div class="blogs">
<a href="#">
<div class="img">
<img src="images/post-four.jpg" alt="blog-four">
<div class="blog-date">6 Jul,19</div>
</div>
<div class="blog-text">
<h3>Web Development</h3>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem, veniam ratione quam vitae,
quibusdam explicabo rem debitis velit ipsa repellat, impedit nulla fuga? Amet corporis praesentium quae.
Sed, quibusdam necessitatibus.</p>
</div></a>
</div>
<div class="blogs">
<a href="#">
<div class="img">
<img src="images/post-five.jpg" alt="blog-five">
<div class="blog-date">1 Jun,19</div>
</div>
<div class="blog-text">
<h3>Work From Home</h3>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Fuga sunt eum necessitatibus rem
dignissimos nulla mollitia cumque, provident officiis non vitae? Animi aut doloremque illum, soluta hic minus
sint explicabo..</p>
</div></a>
</div>
<div class="blogs">
<a href="#">
<div class="img">
<img src="images/post-six.jpg" alt="blog-six">
<div class="blog-date">28 Feb,19</div>
</div>
<div class="blog-text">
<h3>Business Trip</h3>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Explicabo tempora dolorum fuga ratione, unde,
ex quaerat iste numquam nemo nihil nobis rem sint quia recusandae dignissimos quos ut rerum nam.</p>
</div></a>
</div>
</div>
<!--copyright-section You Can Remove After Downloading-->
<div class="footer">
<div class="footer-text">
<img src="./images/copyright.png" alt="copyright-img" class="images" height="14px"> Fassih Belmokhtar - 2021
</div>
</div>
<!--copyright-section-->
</div>
<!--blog end-->
<!--contact-->
<div id="contact">
<div class="color-changer">
<div class="color-panel">
<img src="images/gear.png" alt="">
</div>
<div class="color-selector">
<div class="heading">Custom Colors</div>
<div class="colors">
<ul >
<li>
<a href="#0" class="color-red " title="color-red"></a>
</li>
<li>
<a href="#0" class="color-purple" title="color-purple"></a>
</li>
<li>
<a href="#0" class="color-malt" title="color-malt"></a>
</li>
<li>
<a href="#0" class="color-green" title="color-green"></a>
</li>
<li>
<a href="#0" class="color-blue" title="color-blue"></a>
</li>
<li>
<a href="#0" class="color-orange" title="color-orange"></a>
</li>
</ul>
</div>
</div>
</div>
<div class="contact-header">Contactez <span class="color"> Moi</span>
<div class="contact-header-caption"> <span class="color"> Get</span> In Touch.</div></div>
<div class="contact-content">
<!--Contact form-->
<div class="contact-form">
<div class="form-header">
Écrivez Moi
</div>
<?php
$Previsualiser='<p class="bt">
<input type="submit" name="previsualiser" tabindex="3" value="Prévisualiser"></p>';
$Envoi="\n".'<p class="bt">
<input name="envoi" tabindex="4" value="Envoyer" type="submit"></p>';
if (isset($_POST['message']))
{
// La variable $verif va nous permettre d'analyser si la sémantique de l'email est bonne
$verif='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
//quelques remplacements pour les specialchars
$message=preg_replace('#(<|>)#', '-', $_POST['message']);
$message=str_replace('"', "'",$message);
$message=str_replace('&', 'et',$message);
$objet=preg_replace('#(<|>)#', '-', $_POST['objet']);
$objet=str_replace('"', "'",$objet);
$objet=str_replace('&', 'et',$objet);
// On assigne et/ou protège nos variables
$votremail=stripslashes(htmlentities($_POST['votremail']));
$message=stripslashes(htmlspecialchars($message));
$objet=stripslashes(htmlspecialchars($objet));
//input envoi/previsualiser
$envoi=htmlentities($_POST['envoi']);
$previsualiser=htmlentities($_POST['previsualiser']);
//on enlève les espaces
$votremail=trim($votremail);
$message=trim($message);
$objet=trim($objet);
$apercu_resultat='<p>Aperçu du résultat :</p>';
/*On vérifie si l'e mail et le message sont pleins, et on agit en fonction.
(on affiche Apercu du resultat, tel ou tel champ est vide, etc...*/
//Si ca ne vas pas (mal rempli, mail non valide...)
if((empty($message))or(empty($objet))or(!preg_match($verif,$votremail)))
{
//les 3 champs sont vides
if(empty($votremail)and(empty($message))and(empty($objet)))
{
echo '<p>Tous les champs sont vides.</p>';
$message='';$votremail='';$objet='';$apercu_resultat='';
}
//un des champs est vide
else
{
if(!preg_match($verif,$votremail))
echo'<p>Votre adresse e-mail n\'est pas valide.</p>';
else
{
echo'<p>Il faut remplir tous les champs !</p>';
if(empty($message))
$apercu_resultat='';
}
}
}
//Si les deux sont pleins et que l'adresse est valide, on envoie on on prévisualise sans envoi
else
{
$domaine=preg_replace('#[^@]+@(.+)#','$1',$votremail);
$DomaineMailExiste=checkdnsrr($domaine,'MX');
if(!$DomaineMailExiste)
echo'<p>Le nom de domaine de l\'adresse e-mail que vous avez donné n\'existe pas.</p>';
elseif(!empty($previsualiser))
{
$apercu_resultat='<p>Votre message et votre adresse e-mail sont valides et prêts à être envoyés.
<br>Vous n\'avez plus qu\'à cliquer sur le bouton "Envoyer".<br>Prévisualisation :</p>';
$Previsualiser='';
}
elseif(!empty($envoi))
{
$objet='[envoyé depuis mon site web] : '.$objet;
$headers='From:'.$votremail."\r\n".'To:'.$mail."\r\n".'Subject:'.$objet."\r\n".'Content-type:text/plain;charset=iso-8859-1'."\r\n".'Sent:'.date('l, F d, Y H:i');
if(mail($destinataire,$objet,$message,$headers))
{
echo '<p>Votre message a bien été envoyé. Merci.</p><p><a href="/">Retour à la page d\'accueil</a></p>';
$Envoi='';
$Previsualiser='';
}
else
echo'<p>Un problème est survenu durant l\'envoi du mail.</p>';
}
else
echo'<p>Une condition innatendue est survenue lors de l\'exécution du script.</p>';
}
echo $apercu_resultat;
}
else
{
echo '<p>Vous pouvez utiliser ce formulaire pour me contacter.</p>';
$votremail='';$message='';
}
$bas_formulaire=$Previsualiser.$Envoi;
?> <form id="myForm" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" enctype="multipart/form-data">
<div class="input-line">
<input id="name" type="text" placeholder="Name" class="input-name" required>
<input id="email" type="email" placeholder="Email" class="input-name" value="<?php echo $votremail; ?>" required>
</div>
<input type="text" id="subject" placeholder="subject" class="input-subject" required>
<textarea id ="body" class="input-textarea" placeholder="message" name="message" required><?php echo $message; ?></textarea>
<button type="submit" id ="submit" value="send">Envoyer</button>
<?php echo $bas_formulaire;?>
</form>
</div>
<!--Contact form-->
<!--Contact information-->
<div class="contact-info">
<div class="contact-info-header">
Contact Info
</div>
<div class="contact-info-content">
<div class="contect-info-content-line">
<img src="./images/icon-name.png" class="icon" alt="name-icon">
<div class="contact-info-icon-text">
<h6>Nom</h6>
<p>Fassih Belmokhtar</p>
</div>
</div>
<div class="contect-info-content-line">
<img src="./images/icon-location.png" class="icon" alt="location-icon">
<div class="contact-info-icon-text">
<h6>Localisation</h6>
<p>Haute-Savoie, France</p>
</div>
</div>
<div class="contect-info-content-line">
<img src="./images/icon-phone.png" class="icon" alt="phone-icon">
<div class="contact-info-icon-text">
<h6>Téléphone</h6>
<p>+33651520353</p>
</div>
</div>
<div class="contect-info-content-line">
<img src="./images/icon-email.png" class="icon" alt="email-icon">
<div class="contact-info-icon-text">
<h6>Email</h6>
<p>[email protected]</p>
</div>
</div>
</div>
<!--Contact information end-->
</div>
</div>
<!--copyright-section You Can Remove After Downloading-->
<div class="footer">
<div class="footer-text">
<img src="./images/copyright.png" alt="copyright-img" class="images" height="14px"> Fassih Belmokhtar - 2021
</div>
</div>
<!--copyright-section-->
</div>
<!--contact end-->
</div>
<!--all the divisions-->
<script src="js/jquery.min.js"></script>
<script src="js/index.js"></script>
</body>
</html>
Je sais que la longueur du poste va en rebuter plus d'un, et je vous remercie par avance pour l'aide que vous voudrez bien m'apporter Merci d'avance.