Bonsoir à tous,
Je suis inscrite depuis quelques minutes car j'essaie de faire un site simple pour un groupe de musique et... je suis comptable (entendez ma détresse) ...
Donc forcément, je bidouille, reprends des tutos et des "modèles-tout-faits" mais là... Je n'arrive plus à comprendre.
J'ai tenté une recherche mais ne trouve pas non plus de réponses.
Aussi, je poste donc là ma question !
Le site a un formulaire de contact intégré.
Bien sûr, je ne veux pas me servir du "mailto:" et j'ai donc tenté de l'envoyer via du php.
Problème, à l'envoi du message, une nouvelle fenêtre s'ouvre pleine de code bizarre.
Étant plus que novice, je ne sais absolument pas d'où vient l'erreur (les erreurs, d'ailleurs sûrement).
Je précise qu'il s'agit que mes codes et sources proviennent de templates et autres modèles et/ou tuto gratuits.
Voici mes codes ci-dessous, ainsi que la page bizarre qui s'ouvre à l'envoi.
Si quelqu'un peut m'aider à finaliser ce formulaire, ce serait génial, je vous paierai une bière si vous venez nous voir en concert (offre valable pour les 3 premier(ère)s à répondre !)
Code HTML :
Code PHP :
Code bizarre qui s'ouvre à l'envoi :
Je suis inscrite depuis quelques minutes car j'essaie de faire un site simple pour un groupe de musique et... je suis comptable (entendez ma détresse) ...
Donc forcément, je bidouille, reprends des tutos et des "modèles-tout-faits" mais là... Je n'arrive plus à comprendre.
J'ai tenté une recherche mais ne trouve pas non plus de réponses.
Aussi, je poste donc là ma question !
Le site a un formulaire de contact intégré.
Bien sûr, je ne veux pas me servir du "mailto:" et j'ai donc tenté de l'envoyer via du php.
Problème, à l'envoi du message, une nouvelle fenêtre s'ouvre pleine de code bizarre.
Étant plus que novice, je ne sais absolument pas d'où vient l'erreur (les erreurs, d'ailleurs sûrement).
Je précise qu'il s'agit que mes codes et sources proviennent de templates et autres modèles et/ou tuto gratuits.
Voici mes codes ci-dessous, ainsi que la page bizarre qui s'ouvre à l'envoi.
Si quelqu'un peut m'aider à finaliser ce formulaire, ce serait génial, je vous paierai une bière si vous venez nous voir en concert (offre valable pour les 3 premier(ère)s à répondre !)
Code HTML :
<form id="contact-form" method="post" action="contact.php">
<div>
<label for="nom">
<span>C’est quoi ton nom ?</span>
<input placeholder="Renseigne ton nom ou ton prénom, ca suffit" type="text" id="nom" name="nom" tabindex="1">
</label>
</div>
<div>
<label for="email">
<span>C’est quoi ton mail ?</span>
<input placeholder="Renseigne ton adresse mail" type="email" id="email" name="email" tabindex="2">
</label>
</div>
<div>
<label for="tel">
<span>Pas de pression, mais... tu as un téléphone ?</span>
<input placeholder="Renseigne un numéro pour qu’on t’appelle à pas d'heure" type="text" id="nom" name="nom" tabindex="3">
</label>
</div>
<div>
<label for="message">
<span>Laisse nous ton message</span>
<textarea placeholder="Veux-tu qu’on joue, qu’on fasse des gaufres, qu’on boive des bieres ?" type="text" id="message" name="message" tabindex="4"></textarea>
</label>
</div>
<div>
<button name="envoi" type="submit" id="contact-submit">Envoyer</button>
</div>
</form>
Code PHP :
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'monadresse@live.fr';
// copie ? (envoie une copie au visiteur)
$copie = 'oui';
// Action du formulaire (si votre page a des paramètres dans l'URL)
// si cette page est index.php?page=contact alors mettez index.php?page=contact
// sinon, laissez vide
$form_action = '';
// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Message d'erreur du formulaire
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = htmlspecialchars(trim($text), ENT_QUOTES);
if (1 === get_magic_quotes_gpc())
{
$text = stripslashes($text);
}
$text = nl2br($text);
return $text;
};
/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(? [decu]? [decu]?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(? [decu]?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $email);
return (($value === 0) || ($value === false)) ? false : true;
}
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$tel = (isset($_POST['tel'])) ? Rec($_POST['tel']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
$err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin
if (isset($_POST['envoi']))
{
if (($nom != '') && ($email != '') && ($tel != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'From:'.$nom.' <'.$email.'>' . "\r\n" .
'Reply-To:'.$email. "\r\n" .
'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed '."\r\n" .
'Content-Disposition: inline'. "\r\n" .
'Content-Transfer-Encoding: 7bit'." \r\n" .
'X-Mailer:PHP/'.phpversion();
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.';'.$email;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);
// Envoi du mail
$num_emails = 0;
$tmp = explode(';', $cible);
foreach($tmp as $email_destinataire)
{
if (mail($email_destinataire, $tel, $message, $headers))
$num_emails++;
}
if ((($copie == 'oui') && ($num_emails == 2)) || (($copie == 'non') && ($num_emails == 1)))
{
echo '<p>'.$message_envoye.'</p>';
}
else
{
echo '<p>'.$message_non_envoye.'</p>';
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.'</p>';
$err_formulaire = true;
};
}; // fin du if (!isset($_POST['envoi']))
if (($err_formulaire) || (!isset($_POST['envoi'])))
{
// afficher le formulaire
echo 'Merci pour ton message !';
};
?>
Code bizarre qui s'ouvre à l'envoi :
' . "\r\n" . 'Reply-To:'.$email. "\r\n" . 'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed '."\r\n" . 'Content-Disposition: inline'. "\r\n" . 'Content-Transfer-Encoding: 7bit'." \r\n" . 'X-Mailer:PHP/'.phpversion(); // envoyer une copie au visiteur ? if ($copie == 'oui') { $cible = $destinataire.';'.$email; } else { $cible = $destinataire; }; // Remplacement de certains caractères spéciaux $message = str_replace("'","'",$message); $message = str_replace("’","'",$message); $message = str_replace(""",'"',$message); $message = str_replace('
','',$message); $message = str_replace('
','',$message); $message = str_replace("<","<",$message); $message = str_replace(">",">",$message); $message = str_replace("&","&",$message); // Envoi du mail $num_emails = 0; $tmp = explode(';', $cible); foreach($tmp as $email_destinataire) { if (mail($email_destinataire, $tel, $message, $headers)) $num_emails++; } if ((($copie == 'oui') && ($num_emails == 2)) || (($copie == 'non') && ($num_emails == 1))) { echo '
'.$message_envoye.'
'; } else { echo '
'.$message_non_envoye.'
'; }; } else { // une des 3 variables (ou plus) est vide ... echo '
'.$message_formulaire_invalide.'
'; $err_formulaire = true; }; }; // fin du if (!isset($_POST['envoi'])) if (($err_formulaire) || (!isset($_POST['envoi']))) { // afficher le formulaire echo 'Merci pour ton message !'; }; ?>