Bonjour moogli
hier j'ai testé en enlevant société et téléphone mais ça ne fonctionne pas
là je viens de rajouter le petit morceau de code que tu as fait en plus, qui si je comprends bien n'est pas obligatoire, mais même avec ça j'ai toujours le message me disant que je dois remplir tous les champs. C'est un vrai casse tête ce truc
le truc c'est qu'a la base ton code php les demandent comme requis
c'était cette ligne : if (($nom != '') && ($societe != '')&& ($email != '') && ($telephone != '') && ($message != ''))
les informations societé et téléphone n'étant pas utilisé dans le mail autant les virer de toutes façon.
sinon tu construit dynamiquement le message.
mon code, avec téléphone et société non obligatoire mais dans le message quand même
<?php
$destinataire = '[email protected]';
$message_envoye = "Votre message nous est bien parvenu !";
$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
$objet = 'l\'objet du mail';
if (!empty($_POST['submit']))
{
if (!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['message']))
{
$headers[] = 'MIME-Version: 1.0';
$headers []= 'From:'.$_POST['name'].' <'.$_POST['email'].'>' ;
$headers []= 'Reply-To:'.$_POST['email'];
$headers []= 'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed ';
$headers []= 'Content-Disposition: inline';
$headers []= 'Content-Transfer-Encoding: 7bit';
$headers []= 'X-Mailer:PHP/'.phpversion();
if (!empty($_POST['copie']) && $_POST['copie'] == 'oui')
{
// copie cachée pour toi
$headers [] ='Bcc: ' + $destinataire;
// destinataire de l'email le gens qui soumet le formulaire
$destinataire = $_POST['email'];
}
echo '<p>';
$message = $_POST['message'];
if(!empty($_POST['societe'])){
$message .= PHP_EOL.'Société : '.$_POST['societe'];
}
if(!empty($_POST['telephone'])){
$message .= PHP_EOL.'Téléphone : '.$_POST['telephone'];
}
if (mail($destinataire, $objet, $_POST['message'], implode("\r\n",$headers))){
echo $message_envoye;
}else {
echo $message_non_envoye;
}
echo '</p>';
}
else
{
echo '<p>',$message_formulaire_invalide.'</p>',PHP_EOL;
}
}
?>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Formulaire de contact</title>
<link href="form.css" rel="stylesheet" type="text/css"/>
<style type="text/css">
.title {
margin-bottom: 2em;
}
.contactForm{
margin : 0 2em;
}
label {
width : 100px;
text-align : right;
display:inline-block;
vertical-align: top;
}
.input {
margin-bottom :2em;
}
input[class="submit"]{
margin-top : 2em;
margin-left: 100px;
width:200px;
}
</style>
</head>
<body>
<nav id="navigation">
<ul>
<li> <a href="index.html" target="new">Accueil</a> </li>
<li> <a href="prestations.html" target="new">Prestations</a> </li>
<li> <a href="qui-suis-je.html" target="new">Qui suis-je</a> </li>
<li> <a href="livre-d-or.html" target="new">Livre d'Or</a> </li>
<li> <a href="form.html" target="new">Contact</a> </li>
</ul>
</nav>
<div id="contenu">
<div class="title">Formulaire de contact</div>
<form method="post">
<p class="contactForm">
<label for="name">Nom*:</label>
<input type="text" id="name" name="name" class="input" required />
<br />
<label for="société">Société:</label>
<input type="text" id="société" name="societe" class="input" />
<br />
<label for="email">Adresse email*:</label>
<input type="email" id="email" name="email" class="input" required />
<br />
<label for="téléphone">Téléphone/Fax:</label>
<input type="tel" id="téléphone" name="telephone" class="input" pattern="^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$" />
<br />
<label for="msg">Votre message*:</label>
<textarea id="msg" name="message" class="msg" rows="10" cols="32" required></textarea>
<br/>
<input type="submit" class="submit" name="submit" value="Envoyer">
</p>
</form>
</div>
<div id="footer">
<p><img src="images/twitter.png" alt="logo twitter" height="15" /> droits réservés ©Serveur à la carte - 2017 <img src="images/facebook.png" alt="logo acebook" height="15" /></p>
</div>
</body>
</html>
@+
Bonjour moogli
hier j'ai testé en enlevant société et téléphone mais ça ne fonctionne pas
là je viens de rajouter le petit morceau de code que tu as fait en plus, qui si je comprends bien n'est pas obligatoire, mais même avec ça j'ai toujours le message me disant que je dois remplir tous les champs. C'est un vrai casse tête ce truc :-(
[quote="moogli"]le truc c'est qu'a la base ton code php les demandent comme requis
c'était cette ligne : if (($nom != '') && ($societe != '')&& ($email != '') && ($telephone != '') && ($message != ''))
les informations societé et téléphone n'étant pas utilisé dans le mail autant les virer de toutes façon.
sinon tu construit dynamiquement le message.
mon code, avec téléphone et société non obligatoire mais dans le message quand même
[php]<?php
$destinataire = '
[email protected]';
$message_envoye = "Votre message nous est bien parvenu !";
$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
$objet = 'l\'objet du mail';
if (!empty($_POST['submit']))
{
if (!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['message']))
{
$headers[] = 'MIME-Version: 1.0';
$headers []= 'From:'.$_POST['name'].' <'.$_POST['email'].'>' ;
$headers []= 'Reply-To:'.$_POST['email'];
$headers []= 'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed ';
$headers []= 'Content-Disposition: inline';
$headers []= 'Content-Transfer-Encoding: 7bit';
$headers []= 'X-Mailer:PHP/'.phpversion();
if (!empty($_POST['copie']) && $_POST['copie'] == 'oui')
{
// copie cachée pour toi
$headers [] ='Bcc: ' + $destinataire;
// destinataire de l'email le gens qui soumet le formulaire
$destinataire = $_POST['email'];
}
echo '<p>';
$message = $_POST['message'];
if(!empty($_POST['societe'])){
$message .= PHP_EOL.'Société : '.$_POST['societe'];
}
if(!empty($_POST['telephone'])){
$message .= PHP_EOL.'Téléphone : '.$_POST['telephone'];
}
if (mail($destinataire, $objet, $_POST['message'], implode("\r\n",$headers))){
echo $message_envoye;
}else {
echo $message_non_envoye;
}
echo '</p>';
}
else
{
echo '<p>',$message_formulaire_invalide.'</p>',PHP_EOL;
}
}
?>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Formulaire de contact</title>
<link href="form.css" rel="stylesheet" type="text/css"/>
<style type="text/css">
.title {
margin-bottom: 2em;
}
.contactForm{
margin : 0 2em;
}
label {
width : 100px;
text-align : right;
display:inline-block;
vertical-align: top;
}
.input {
margin-bottom :2em;
}
input[class="submit"]{
margin-top : 2em;
margin-left: 100px;
width:200px;
}
</style>
</head>
<body>
<nav id="navigation">
<ul>
<li> <a href="index.html" target="new">Accueil</a> </li>
<li> <a href="prestations.html" target="new">Prestations</a> </li>
<li> <a href="qui-suis-je.html" target="new">Qui suis-je</a> </li>
<li> <a href="livre-d-or.html" target="new">Livre d'Or</a> </li>
<li> <a href="form.html" target="new">Contact</a> </li>
</ul>
</nav>
<div id="contenu">
<div class="title">Formulaire de contact</div>
<form method="post">
<p class="contactForm">
<label for="name">Nom*:</label>
<input type="text" id="name" name="name" class="input" required />
<br />
<label for="société">Société:</label>
<input type="text" id="société" name="societe" class="input" />
<br />
<label for="email">Adresse email*:</label>
<input type="email" id="email" name="email" class="input" required />
<br />
<label for="téléphone">Téléphone/Fax:</label>
<input type="tel" id="téléphone" name="telephone" class="input" pattern="^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$" />
<br />
<label for="msg">Votre message*:</label>
<textarea id="msg" name="message" class="msg" rows="10" cols="32" required></textarea>
<br/>
<input type="submit" class="submit" name="submit" value="Envoyer">
</p>
</form>
</div>
<div id="footer">
<p><img src="images/twitter.png" alt="logo twitter" height="15" /> droits réservés ©Serveur à la carte - 2017 <img src="images/facebook.png" alt="logo acebook" height="15" /></p>
</div>
</body>
</html>[/php]
@+[/quote]