Me revoici sur le forum.
Bonjour à tous.
Je vous explique mon souci du jour.
J'ai un formualaire "formulaire00.html" qui doit m'envoyer un mail
par "traitement.php" après avoir été validé par "validation.php";
Une fois que ce mail a été envoyé et validé, "formulaire01.html"
confirme à l'internaute quer son mail a bien été envoyé.
Et c'est au niveau de la validation et de l'envoi que cela merdouille.
Car, si il y des erreurs de validation, il faut garder l'affichage de
"formulaire00.html", avec la variable "$erreur" qui s'affiche ou se mette à jour
dans la div "myform_errorloc" (en fin de table).
Pouvez-vous m'aider ???
Merci d'avance.
Bonne journée.
JYves
Voici la validation du formulaire (validation.php) :
<?php
$erreur="";
$nom = $_POST['nom'];
if (isset($nom) == false) {
$erreur .= "> Votre nom est manquant !";
}
$localite = $_POST['localite'];
if (isset($localite) == false) {
$erreur .= "> Votre localité est manquante !";
}
$tel = $_POST['tel'];
if (isset($tel) == false) {
$erreur .= "> Votre numéro tél/gsm est manquant !";
}
$email = $_POST['email'];
if (isset($email) == false) {
$erreur .= "> Votre adresse email est manquante !";
}
if (filter_var($email, FILTER_VALIDATE_EMAIL) == FALSE) {
$erreur .= "> Adresse email pas valide !\n";
}
$message = $_POST['message'];
if (isset($message) == false) {
$erreur .= "> Votre message est manquant !";
}
if (strlen($erreur) == 0) {
Header("Location: traitement.php");
} else {
Header("Location: ../formulaire00.html");
}
?>
voici l'envoi du mail (traitement.php) :
<?php
date_default_timezone_set('Europe/Brussels');
$jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
$mois = array("","Janvier",utf8_encode("Février"),"Mars","Avril","Mai","Juin","Juillet",utf8_encode("Août"),"Septembre","Octobre","Novembre",utf8_encode("Décembre"));
$datefr = $jour[date("w")]." ".date("d")." ".$mois[date("n")]." ".date("Y");
$heurefr = "- ".date("H:i:s");
$vousetes = $_POST['vousetes'];
$societe = $_POST['societe'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$adresse = $_POST['adresse'];
$pays = $_POST['pays'];
$codepostal = $_POST['codepostal'];
$localite = $_POST['localite'];
$tel = $_POST['tel'];
$email = $_POST['email'];
$concerne = $_POST['concerne'];
$message = $_POST['message'];
switch($concerne) {
case 'CRE':
$concerne = utf8_encode('CREATION');
break;
case 'IMP':
$concerne = utf8_encode('IMPRESSION');
break;
case 'WEB':
$concerne = utf8_encode('WEB DESIGN');
break;
default:
$concerne = utf8_encode('Ordre général');
break;
}
$societe = ucwords(strtolower($societe));
$nom = strtoupper(strtolower($nom));
$localite = strtoupper(strtolower($localite));
$prenom = ucwords(strtolower($prenom));
$destinataire1 = "fl@skynet.be";
$destinataire2 = $email;
$objet1 = "Demande de Renseignements";
$objet2 = "Copie de votre Demande de Renseignements";
$msg = "\n";
$msg .= "============================================================================\n";
$msg .= "Message provenant d'un $vousetes\n";
$msg .= "\n";
$msg .= "Entreprise : $societe\n";
$msg .= ">>> Contact : $nom $prenom\n";
$msg .= "$adresse\n";
$msg .= "$pays - $codepostal $localite\n";
$msg .= utf8_encode("Tél : ")."$tel\n";
$msg .= "Email : $email\n";
$msg .= "\n\n";
$msg .= "Concerne : $concerne\n";
$msg .= "\n";
$msg .= "Message :\n";
$msg .= "$message\n";
$msg .= "\n";
$msg .= "============================================================================\n";
$msg .= "\n";
$entete = "From: c <>\n";
$entete .= "Reply-To: $destinataire2\n";
$entete .= "Content-Type: text/plain; charset='UTF-8'\n";
$entete .= "Content-Disposition: inline\n";
$entete .= "Content-Transfer-Encoding: 8bit\n";
$entete .= "MIME-Version: 1.0\n";
$entete .= "Date: $datefr $heurefr\n";
$resultat = mail(utf8_decode($destinataire1),utf8_decode($objet1), utf8_decode($msg), utf8_decode($entete));
if ($resultat == false) {
Header("Location: ../formulaire02.html");
} else {
Header("Location: ../formulaire01.html");
}
?>
Voici le code html (une partie de formulaire00.html) :
(PS. formulaire01.html ne fait que confirmer l'envoi correct du message)
<form action="php/traitement.php" method="post" name="myform" id="formulaire">
<table width="840" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95" height="30" valign="top">Vous êtes<span class="texterouge">*</span></td>
<td width="370" height="30" valign="top">
<label><input type="radio" name="vousetes" value="Professionnel" checked>
Professionnel</label>
<label><input type="radio" name="vousetes" value="Particulier" >
Particulier</label></td>
<td width="375" height="30" valign="middle"><label for="concerne">Concerne : </label>
<select name="concerne" id="concerne">
<option value="NC">Ordre général</option>
<option value="CRE">Création</option>
<option value="IMP">Impression </option>
<option value="WEB">Web Design</option>
</select></td>
</tr>
<tr>
<td width="95" height="30" valign="top">Société</td>
<td width="370" height="30" valign="top"><input name="societe" type="text" id="societe" size="50"></td>
<td width="375" height="30" rowspan="7" valign="top"><label for="message5"></label>
<textarea name="message" id="message5"></textarea></td>
</tr>
<tr>
<td width="95" height="30" valign="top">Nom<span class="texterouge">*</span></td>
<td width="370" height="30" valign="top"><input name="nom" type="text" id="nom" size="50"></td>
</tr>
<tr>
<td width="95" height="30" valign="top">Prénom</td>
<td width="370" height="30" valign="top"><input name="prenom" type="text" id="prenom" size="50"></td>
</tr>
<tr>
<td width="95" height="30" valign="top">Adresse</td>
<td width="370" height="30" valign="top"><input name="adresse" type="text" id="adresse" size="50"></td>
</tr>
<tr>
<td width="95" height="30" valign="top">Code Postal</td>
<td width="370" height="30" valign="top"><input name="codepostal" type="text" id="codepostal" size="10"></td>
</tr>
<tr>
<td width="95" height="30" valign="top">Localité<span class="texterouge">*</span></td>
<td width="370" height="30" valign="top"><input name="localite" type="text" id="localite" size="50"></td>
</tr>
<tr>
<td width="95" height="30" valign="top">Pays<span class="texterouge">*</span></td>
<td width="370" height="30" valign="top"><select name="pays" id="pays">
<option value="BE" selected>Choisissez, svp !</option>
<option value="BE">Belgique</option>
<option value="FR">France</option>
<option value="CH">Suisse</option>
<option value="LU">Luxembourg</option>
<option value="NL">Pays-bas</option>
<option value="NC">Autre pays</option>
</select></td>
</tr>
<tr>
<td width="95" height="30" valign="top">Tél / Gsm<span class="texterouge">*</span></td>
<td width="370" height="30" valign="top"><input name="tel" type="text" id="tel" size="50"></td>
<td width="375" height="30" align="right" valign="bottom">
<label for="envoi"></label>
<input type="submit" name="envoi" id="envoi" value="Envoyer la demande">
<label for="erase"></label>
<input type="reset" name="erase" id="erase" value="Effacer tout"></td>
</tr>
<tr>
<td width="95" height="30" valign="top">E-mail<span class="texterouge">*</span></td>
<td width="370" height="30" valign="top"><input name="email" type="text" id="email" size="50"></td>
<td width="375" height="30" align="right" valign="top"></td>
</tr>
<tr>
<td width="95" height="75" valign="top"> </td>
<td width="370" height="90" valign="top"><div class="error_strings" id="myform_errorloc"></div></td>
<td width="375" height="75" align="right" valign="top"></td>
</tr>
</table>
<span class="texterouge"><span class="etoilepostscriptum">*</span></span><span class="postscriptum">Champs obligatoires</span>
</form>
Modifié par jytest (03 May 2012 - 19:23)
Bonjour à tous.
Je vous explique mon souci du jour.
J'ai un formualaire "formulaire00.html" qui doit m'envoyer un mail
par "traitement.php" après avoir été validé par "validation.php";
Une fois que ce mail a été envoyé et validé, "formulaire01.html"
confirme à l'internaute quer son mail a bien été envoyé.
Et c'est au niveau de la validation et de l'envoi que cela merdouille.
Car, si il y des erreurs de validation, il faut garder l'affichage de
"formulaire00.html", avec la variable "$erreur" qui s'affiche ou se mette à jour
dans la div "myform_errorloc" (en fin de table).
Pouvez-vous m'aider ???
Merci d'avance.
Bonne journée.
JYves
Voici la validation du formulaire (validation.php) :
<?php
$erreur="";
$nom = $_POST['nom'];
if (isset($nom) == false) {
$erreur .= "> Votre nom est manquant !";
}
$localite = $_POST['localite'];
if (isset($localite) == false) {
$erreur .= "> Votre localité est manquante !";
}
$tel = $_POST['tel'];
if (isset($tel) == false) {
$erreur .= "> Votre numéro tél/gsm est manquant !";
}
$email = $_POST['email'];
if (isset($email) == false) {
$erreur .= "> Votre adresse email est manquante !";
}
if (filter_var($email, FILTER_VALIDATE_EMAIL) == FALSE) {
$erreur .= "> Adresse email pas valide !\n";
}
$message = $_POST['message'];
if (isset($message) == false) {
$erreur .= "> Votre message est manquant !";
}
if (strlen($erreur) == 0) {
Header("Location: traitement.php");
} else {
Header("Location: ../formulaire00.html");
}
?>
voici l'envoi du mail (traitement.php) :
<?php
date_default_timezone_set('Europe/Brussels');
$jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
$mois = array("","Janvier",utf8_encode("Février"),"Mars","Avril","Mai","Juin","Juillet",utf8_encode("Août"),"Septembre","Octobre","Novembre",utf8_encode("Décembre"));
$datefr = $jour[date("w")]." ".date("d")." ".$mois[date("n")]." ".date("Y");
$heurefr = "- ".date("H:i:s");
$vousetes = $_POST['vousetes'];
$societe = $_POST['societe'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$adresse = $_POST['adresse'];
$pays = $_POST['pays'];
$codepostal = $_POST['codepostal'];
$localite = $_POST['localite'];
$tel = $_POST['tel'];
$email = $_POST['email'];
$concerne = $_POST['concerne'];
$message = $_POST['message'];
switch($concerne) {
case 'CRE':
$concerne = utf8_encode('CREATION');
break;
case 'IMP':
$concerne = utf8_encode('IMPRESSION');
break;
case 'WEB':
$concerne = utf8_encode('WEB DESIGN');
break;
default:
$concerne = utf8_encode('Ordre général');
break;
}
$societe = ucwords(strtolower($societe));
$nom = strtoupper(strtolower($nom));
$localite = strtoupper(strtolower($localite));
$prenom = ucwords(strtolower($prenom));
$destinataire1 = "fl@skynet.be";
$destinataire2 = $email;
$objet1 = "Demande de Renseignements";
$objet2 = "Copie de votre Demande de Renseignements";
$msg = "\n";
$msg .= "============================================================================\n";
$msg .= "Message provenant d'un $vousetes\n";
$msg .= "\n";
$msg .= "Entreprise : $societe\n";
$msg .= ">>> Contact : $nom $prenom\n";
$msg .= "$adresse\n";
$msg .= "$pays - $codepostal $localite\n";
$msg .= utf8_encode("Tél : ")."$tel\n";
$msg .= "Email : $email\n";
$msg .= "\n\n";
$msg .= "Concerne : $concerne\n";
$msg .= "\n";
$msg .= "Message :\n";
$msg .= "$message\n";
$msg .= "\n";
$msg .= "============================================================================\n";
$msg .= "\n";
$entete = "From: c <>\n";
$entete .= "Reply-To: $destinataire2\n";
$entete .= "Content-Type: text/plain; charset='UTF-8'\n";
$entete .= "Content-Disposition: inline\n";
$entete .= "Content-Transfer-Encoding: 8bit\n";
$entete .= "MIME-Version: 1.0\n";
$entete .= "Date: $datefr $heurefr\n";
$resultat = mail(utf8_decode($destinataire1),utf8_decode($objet1), utf8_decode($msg), utf8_decode($entete));
if ($resultat == false) {
Header("Location: ../formulaire02.html");
} else {
Header("Location: ../formulaire01.html");
}
?>
Voici le code html (une partie de formulaire00.html) :
(PS. formulaire01.html ne fait que confirmer l'envoi correct du message)
<form action="php/traitement.php" method="post" name="myform" id="formulaire">
<table width="840" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="95" height="30" valign="top">Vous êtes<span class="texterouge">*</span></td>
<td width="370" height="30" valign="top">
<label><input type="radio" name="vousetes" value="Professionnel" checked>
Professionnel</label>
<label><input type="radio" name="vousetes" value="Particulier" >
Particulier</label></td>
<td width="375" height="30" valign="middle"><label for="concerne">Concerne : </label>
<select name="concerne" id="concerne">
<option value="NC">Ordre général</option>
<option value="CRE">Création</option>
<option value="IMP">Impression </option>
<option value="WEB">Web Design</option>
</select></td>
</tr>
<tr>
<td width="95" height="30" valign="top">Société</td>
<td width="370" height="30" valign="top"><input name="societe" type="text" id="societe" size="50"></td>
<td width="375" height="30" rowspan="7" valign="top"><label for="message5"></label>
<textarea name="message" id="message5"></textarea></td>
</tr>
<tr>
<td width="95" height="30" valign="top">Nom<span class="texterouge">*</span></td>
<td width="370" height="30" valign="top"><input name="nom" type="text" id="nom" size="50"></td>
</tr>
<tr>
<td width="95" height="30" valign="top">Prénom</td>
<td width="370" height="30" valign="top"><input name="prenom" type="text" id="prenom" size="50"></td>
</tr>
<tr>
<td width="95" height="30" valign="top">Adresse</td>
<td width="370" height="30" valign="top"><input name="adresse" type="text" id="adresse" size="50"></td>
</tr>
<tr>
<td width="95" height="30" valign="top">Code Postal</td>
<td width="370" height="30" valign="top"><input name="codepostal" type="text" id="codepostal" size="10"></td>
</tr>
<tr>
<td width="95" height="30" valign="top">Localité<span class="texterouge">*</span></td>
<td width="370" height="30" valign="top"><input name="localite" type="text" id="localite" size="50"></td>
</tr>
<tr>
<td width="95" height="30" valign="top">Pays<span class="texterouge">*</span></td>
<td width="370" height="30" valign="top"><select name="pays" id="pays">
<option value="BE" selected>Choisissez, svp !</option>
<option value="BE">Belgique</option>
<option value="FR">France</option>
<option value="CH">Suisse</option>
<option value="LU">Luxembourg</option>
<option value="NL">Pays-bas</option>
<option value="NC">Autre pays</option>
</select></td>
</tr>
<tr>
<td width="95" height="30" valign="top">Tél / Gsm<span class="texterouge">*</span></td>
<td width="370" height="30" valign="top"><input name="tel" type="text" id="tel" size="50"></td>
<td width="375" height="30" align="right" valign="bottom">
<label for="envoi"></label>
<input type="submit" name="envoi" id="envoi" value="Envoyer la demande">
<label for="erase"></label>
<input type="reset" name="erase" id="erase" value="Effacer tout"></td>
</tr>
<tr>
<td width="95" height="30" valign="top">E-mail<span class="texterouge">*</span></td>
<td width="370" height="30" valign="top"><input name="email" type="text" id="email" size="50"></td>
<td width="375" height="30" align="right" valign="top"></td>
</tr>
<tr>
<td width="95" height="75" valign="top"> </td>
<td width="370" height="90" valign="top"><div class="error_strings" id="myform_errorloc"></div></td>
<td width="375" height="75" align="right" valign="top"></td>
</tr>
</table>
<span class="texterouge"><span class="etoilepostscriptum">*</span></span><span class="postscriptum">Champs obligatoires</span>
</form>
Modifié par jytest (03 May 2012 - 19:23)