Bonjour, J' codé une formulaire de contact en suivant votre vidéo de formulaire de contact en php. Je n'ai pas utilisé votre système de message d'erreurs avec php mais j'ai fait une variation avec javascript. Toutefois, l'email ne s'envoie pas. J'aimerais votre avis sur ce code. [code]<!--
Piriou-Courson Egan
HTML Javascript css
formulaire.php
--><?php if(empty($_POST))
{
extract($_POST);
$valide=true;
if(empty($email))
{
$valide=false;
}
if($valide)
{
$to ="xtz_29@live.fr";
$sujet = $nom."Requette formulaire serveur";
$message = $civilite.$nom.$prenom.$speudo.$email.$date.$dure.$dem;
$header = "From: $nom <$email> \n"; $header .= "Reply-to: $email"; $nom = stripslashes($nom); $dem = stripslashes($dem); if(mail($to,$sujet,$message,$header)) { $reponse= "EMAIL ENVOYE"; unset($nom); unset($prenom); unset($email); unset($speudo); unset($civilite); unset($dat); unset($dure); unset($dem); } else { $reponse ="ECHEC ENVOI EMAIL"; } } } ?>
<title>Formulaire serveur</title><meta name="LANGUAGE" content="fr"><meta name="AUTHOR" content="Piriou-Courson Egan"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" media="screen" type="text/css" title="Design" href="css/style.css"><script language="javascript" src="methode.js"></script><form name="formulaire" action="formulaire.php" method="post">
<table>
<tr>
<td colspan="2">
<script language="javascript" type="text/javascript">laDate();</script>
</td>
</tr>
<tr>
<td>
<label>Civilité :</label>
</td>
<td>
<input type="radio" name="civilite" value="Mlle">Mlle
<input type="radio" name="civilite" value="Mme">Mme
<input type="radio" name="civilite" value="M.">M.
</td>
<td>
</td>
</tr>
<tr class="text">
<td><label for="non">Nom:</label></td>
<td><input id="nom" type="text" name="nom" siez="20" maxlenght="30" onchange="verifChampCaractère()"></td>
</tr>
<tr class="text">
<td><label for="prenom">Prénom:</label></td>
<td><input id="prenom" type="text" name="prenom" siez="20" maxlenght="30" onchange="verifChampCaractère()"></td>
</tr>
<tr class="text">
<td><label for="speudo">Speudo:</label></td>
<td><input id="speudo" type="text" name="speudo" siez="20" maxlenght="30" onchange="verifChampCaractère()"></td>
</tr>
<tr class="text">
<td><label for="email">Votre adresse email:</label></td>
<td><input id="email" type="text" name="email" size="20" maxlenght="30" onchange="verifChampCaractère()"></td>
</tr>
<tr>
<td colspan="2"><hr width="100%"></td>
</tr>
<tr>
<td><label for="date">Date souhaité:</label></td>
<td colspan="2">Exemple 01/10/2012</td>
</tr>
<tr>
<td></td>
<td colspan="2"><input type="text" id="dat" name="date" siez="20" maxlenght="30" onchange="verifChampCaractère()"></td>
</tr>
<tr>
<td>Durée d' utilisation du serveur:</td>
<td colspan="2">Heures | Jours | Mois</td>
</tr>
<tr>
<td colspan="2">
<select id="dure" name="choixdureh" size="1">
<option value="0">...</option>
<option value="une heure trente">1 Heure 30</option>
<option value="trois heures">3 Heures</option>
<option value="six heurs">6 Heures</option>
</select>
<select id="dure" name="choixdurej" size="1">
<option value="0">...</option>
<option value="un jour">1 jour</option>
<option value="sept jours">2 jours</option>
<option value="quinze jours">3 jours</option>
</select>
<select id="dure" name="choixdurem" size="1">
<option value="0">...</option>
<option value="un mois">1 mois</option>
<option value="trois mois">3 mois</option>
<option value="six mois">6 mois</option>
</select>
</td>
</tr>
<tr>
<td colspan="2">
<input type="checkbox" name="affSuite" onclick="afficherSuite()">
<label for="dem">Demmande supplémentaire</label>
<div id="suite">
<span id="visite"></span><br>
<textarea type="area" name="dem" id="dem"></textarea>
</div>
</td>
</tr>
<tr>
<td><input type="submit" name="envoyer" value="envoyer" onclick="analyseErreur()"></td>
<div id="envoi">
<td>
<span id="retour"></span><br>
</td>
</div>
</tr>
</table>
</form><?php if(isset($erreur_mail))
{
echo $reponse;
}
print_r($POST);
?><script language="javascript" type="text/javascript">afficherSuite();</script>[/code] [code] ///////////////////////////// // Piriou-Courson Egan // // file: methode.js // ///////////////////////////// // Tableau pour les mois var mois = new Array ("Janvier","Février","Mars","Avril","Mai","Juin","Juillet", "Aout","Septembre","Octobre","Novembre","Décembre"); // Tableau des différent caractère interdit var caractere = new Array("²","&","\"","\'","(","*","_","ç","à",")", "=","1","2","3","4","5","6","7","8","9","~","#","{","[","|", "`","\","^","@","]","}","+","/",".",";",":","!","?","§","$", "ù","µ","%","¨","£","ø",""); // Metohde pour l'affichage de l'heure function laDate() { // Tableau pour les jours de la semaine var jour = new Array ("Dimache","Lundi","Mardi","Mercredi","Jeudi", "Vendredi","Samedi"); // Utilisation de la fonction Date() calcule jour moi année calculeDate = new Date(); var jma = jour[calculeDate.getDay()]+ " " + calculeDate.getDate()+ " " + mois[calculeDate.getMonth()]+ " " + calculeDate.getFullYear(); document.write("Aujourd'hui nous sommes le " + jma); } // Methodes d'allert formulaire // Tableau d'erreur var tabErreur = new Array(); var longTabErreur=0; // Methode pour vérifier la validité des champs function verificationChamps() { // définie la couleur par défaut des champs document.formulaire.nom.style.backgroundColor = "#666666"; document.formulaire.prenom.style.backgroundColor = "#666666"; document.formulaire.speudo.style.backgroundColor = "#666666"; tabErreur=Array("** Erreur rencontrées **\n"); if(document.formulaire.nom.value == "") { // inser dans le tableau d'erreur un message tabErreur.push("- Champs Vide Nom\n"); document.formulaire.nom.style.backgroundColor = "#ffff00"; } if(document.formulaire.prenom.value == "") { // inser dans le tableau d'erreur un message tabErreur.push("- Champs Vide Prénom\n"); document.formulaire.prenom.style.backgroundColor ="#ffff00"; } if(document.formulaire.speudo.value == "") { // inser dans le tableau d'erreur un message tabErreur.push("- Champs Vide Speudo\n"); document.formulaire.speudo.style.backgroundColor ="#ffff00"; } } // Methode pour vérifier les email function verificationEmail() { var reg = new RegExp('^[a-z0-9]+([_|.|-]{1}[a-z0-9]+)*@[a-z0-9]+([\|.|-]{1}[a-z0-9]+)*[.]{1}[a-z]{2,4}$', 'i'); var emailUtiliser = document.formulaire.email.value; if(emailUtiliser == "") { // inser dans le tableau d'erreur un message tabErreur.push("- Champs Email vide\n"); // color le champ en jaune si erreur document.formulaire.email.style.backgroundColor = "#ffff00"; } else { if(reg.test(emailUtiliser)==0) { // inser dans le tableau d'erreur un message tabErreur.push("- Champs Email Invalide\n"); // color le champ en jaune si erreur document.formulaire.email.style.backgroundColor = "#ffff00"; } } } // Methode pour vérifier la civilité function verificationCivilite() { if(document.formulaire.civilite[0].checked == 0 ) { if(document.formulaire.civilite[1].checked == 0) { if(document.formulaire.civilite[2].checked == 0) { // inser dans le tableau d'erreur un message tabErreur.push("- Civilité non sélectionnée\n"); } } } } // Methode affichage suite function afficherSuite() { // ce positionne sur la variable suite var choix = document.getElementById("suite"); // Si affsuite est sélectionné suite est visible // Sinon suite est invisible if(document.formulaire.affSuite.checked) { choix.style.display=""; document.getElementById("visite").innerHTML ="Attention aux fautes d' orthographe !!!!"; } else { choix.style.display="none"; } } // Methode d'alert function analyseErreur() { //vérification des conditions verificationChamps(); verificationEmail(); verificationCivilite(); var longTabErreur = tabErreur.length; //créé message alert var msg =""; for(i = 0;i
L'envoi ne se fait pas. Je sais pas pourquoi.
code d'envoi du mail :
if($valide)
{
$to ="xtz_29@live.fr";
$sujet = $nom."Requette formulaire serveur";
$message = $civilite.$nom.$prenom.$speudo.$email.$date.$dure.$dem;
$header = "From: $nom <$email> \n";
$header .= "Reply-to: $email";
$nom = stripslashes($nom);
$dem = stripslashes($dem);
if(mail($to,$sujet,$message,$header))
{
$reponse= "EMAIL ENVOYE";
unset($nom);
unset($prenom);
unset($email);
unset($speudo);
unset($civilite);
unset($dat);
unset($dure);
unset($dem);
}
else
{
$reponse ="ECHEC ENVOI EMAIL";
}
}