Bonjour à tous,
je viens de suivre le tuto (de creatiq) sur le formulaire d'envoi avec JQuery + PHP. Du coup j'ai voulu l'adapter selon mes besoins mais un problème se pose quand j'envoie les données... je ne reçois pas de mail pourtant je n'ai aucun message d'erreurs ou autres..
pour plus d'infos voici le code et merci d'avance pour votre aide ;)
code html :
<div class="wrapContent" >
<form id="form" method="post" action="contactRayonnage.php">
<table width="693" cellspacing="5" cellpadding="2">
<tr>
<td width="402">
<label for="nom">Société * : </label>
<br />
<input name="societe" type="text" id="societe" value="" required/> </td>
<td width="266">
<label for="nom">Longueur Rayonnage * : </label>
<br />
<input name="longRayon" type="text" id="longRayon" value="" required/></td>
</tr>
<tr>
<td>
<label for="nom">Email * : </label>
<br />
<input name="email" type="email" id="email" value="" placeholder="mail@domaine.com" required/> </td>
<td>
<label for="nom">Profondeur Rayonnage * : </label>
<br />
<input name="profondRayon" type="text" id="profondRayon" value="" required/> </td>
</tr>
<tr>
<td>
<label for="nom">Nom Prénom : </label>
<br />
<input name="nom" type="text" id="name" value="" /> </td>
<td>
<label for="nom">Hauteur Rayonnage * : </label>
<br />
<input name="hautRayon" type="text" id="hautRayon" value="" required/> </td>
</tr>
<tr>
<td>
<label for="nom">Téléphone * : </label>
<br />
<input name="telephone" type="text" id="telephone" value="" required/> </td>
<td>
<label for="nom">Longueur du Local : </label>
<br />
<input name="longlocal" type="text" id="longlocal" value="" /> </td>
</tr>
<tr>
<td>
<label for="nom">Fax : </label>
<br />
<input name="fax" type="text" id="fax" value="" /> </td>
<td>
<label for="nom">Largeur du Local : </label>
<br />
<input name="larglocal" type="text" id="larglocal" value="" /> </td>
</tr>
<tr>
<td>
<label for="nom">Ville/CP * : </label>
<br />
<input name="ville" type="text" id="ville" value="" required/> </td>
<td>
<label for="nom">Hauteur du Local : </label>
<label for="nom"></label>
<br />
<input name="hautlocal" type="text" id="hautlocal" value="" /> </td>
</tr>
<tr>
<td>
<label for="nom">Dimensions des Produits Stockés : </label>
<br />
<input name="dimension" type="text" id="dimension" value="" /> </td>
<td>
<label for="nom">Charge par niveaux : </label>
<br />
<input name="charge" type="text" id="charge" value="" /> </td>
</tr>
<tr>
<td>
<label for="nom">Type de Rayonnage * : </label>
<br />
<select name="service" id="service" required>
<option value="" selected="selected"> Sélectionner un type de rayonnage</option>
<option value="poly"> rayonnage automontable polyvalent</option>
<option value="modul"> rayonnage galvanisé modulable</option>
<option value="tubul"> rayonnage tubulaire</option>
<option value="paroi"> rayonnage à parois tolées</option>
<option value="mini"> rayonnage Mini-rack</option>
</select> <br /> </td>
<td>
<label for="nom">Nombre de niveaux * : </label>
<br />
<input name="nombre" type="text" id="nombre" value="" required/> </td>
</tr>
<tr>
<td>
<p>
<label for="nom">Adresse * : </label>
<br />
<textarea name="message" id="message" value="" required placeholder = "votre adresse"></textarea>
</p>
<p>
<input type="submit" id="envoyer" style="background:#617789; color:#FFFFFF; width:auto;padding:5px; cursor:pointer" value="Envoyer" />
</p> </td>
</tr>
</table>
</form>
</div>
code JQuery en utilisant JSON :
<script type="text/javascript">
$(document).ready(function(){
$("#form").submit(function(){
nom = $(this).find("#name").val();
email = $(this).find("#email").val();
telephone=$(this).find("#telephone").val();
longRayon= $(this).find("#longRayon").val();
profondRayon=$(this).find("#profondRayon").val();
hautRayon = $(this).find("#hautRayon").val();
longlocal = $(this).find("#longlocal").val();
larglocal=$(this).find("#larglocal").val();
fax= $(this).find("#fax").val();
ville=$(this).find("#ville").val();
dimension= $(this).find("#hautlocal").val();
hautlocal= $(this).find("#fax").val();
charge= $(this).find("#charge").val();
nombre=$(this).find("#nombre").val();
service= $('#service option:selected').val();
societe=$(this).find("#societe").val();
message = $(this).find("#message").val();
$.post('contact.php',
{
nom:nom,
email:email,
telephone:telephone,
longRayon:longRayon,
profondRayon:profondRayon,
hautRayon:hautRayon,
longlocal:longlocal,
larglocal:larglocal,
fax:fax,
ville:ville,
dimension:dimension,
hautlocal:hautlocal,
charge:charge,
nombre:nombre,
service:service,
societe:societe,
message:message
},function(data)
{
if (data.error=='OK')
{
alert('votre mail a bien été envoyé!!');
}
else
{
alert('entrer un mail valide');
}
},"json");
return false;
});
});
</script>
code PHP :
<?php
$e = array();
$e'error'] = "Formulaire non valide";
if(!filter_var($_POST'email'], FILTER_VALIDATE_EMAIL)){
$e'email_invalide'] = "email_invalide";
}
else {
$e'error'] = 'OK';
$nom = $_POST'nom'];
$service = $_POST'service'];
$email = $_POST'email'];
$telephone=$_POST'telephone'];
$societe=$_POST'societe'];
$message = $_POST'message'];
$longRayon = $_POST'longRayon'];
$profondRayon = $_POST'profondRayon'];
$hautRayon = $_POST'hautRayon'];
$longlocal=$_POST'longlocal'];
$larglocal=$_POST'larglocal'];
$fax = $_POST'fax'];
$ville = $_POST'ville'];
$dimension = $_POST'dimension'];
$hautlocal=$_POST'hautlocal'];
$charge=$_POST'charge'];
$nombre = $_POST'nombre'];
$mag = stripslashes($message);
$to = 'monmail@domaine.fr';
$body = "Nom Prénom: $nom \n\nEmail: $email \n\nObjet: $service \n\nTelephone: $telephone \n\nSociete: $societe\n\n \n\nLongueur Rayonnage: $longRayon\n\n\n\nProfondeur Rayonnage: $profondRayon\n\n\n\nHauteur Rayonnage: $hautRayon\n\n\n\nLongueur Local: $longlocal\n\n\n\nLargeur Local: $larglocal\n\n\n\nFax: $fax\n\n\n\nVille/CP: $ville\n\n\n\nDimension des produits: $dimension\n\n\n\nHauteur Local: $hautlocal\n\n\n\nCharge par niveaux: $charge\n\n\n\nNombre de niveaux: $nombre\n\nAdresse:\n $mag";
$headers = 'From: RAYONPOLE <'.$to.'>' . "\r\n" . 'Reply-To: ' . $email;
mail($to,$sujet,$body,$headers);
}
echo json_encode($e);
?>
bon j'ai trouvé le problème ;) en fait si vous remarquez dans le code javascript quand j'ai fait le post j'ai garder "contact.php" au lieu de "contactRayonnage.php"... ;))