Bonjour a tous,
j'ai fait un formulaire en php avec de l'ajax et quand je ne mais pas l'ajax il m'envoie bien dans la bdd et par mail et quand je mais l'ajax sa ne marche pas. Voci le code :
(javascript avec ajax)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
$(document).ready(function(){
	$('#success').hide();
	$('#load').hide();
	$('#form').submit(function(){
		valid = true;
		if($('#nom').val()==''){
			$('#nom').prev('.error').fadeIn(1000).text('Indiquez votre nom');
			valid = false;
		}
		else{
			$('#nom').prev('.error').slideUp();
		}
		if(!$('#email').val().match('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i')){
			$('#email').prev('.error').fadeIn(1000).text('Indiquez un email valide');
			valid = false;
		}
		else{
			$('#email').prev('.error').slideUp();
		}
		if($('#message').val()==''){
			$('#message').prev('.error').fadeIn(1000).text('Indiquez votre message');
			valid = false;
		}
		else{
			$('#message').prev('.error').slideUp();
		}
		if(valid==true){
			var nom = $('#nom').val();
			var email = $('#email').val();
			var message = $('#message').val();
			var dataString = 'nom='+nom+'&email'+email+'&message'+message; 
			$.ajax({
				type: 'POST',
				url: 'contact2.php',
				data: dataString,
				beforeSend: function(){
					$('#load').fadeIn();
				},
				success: function(){
					$('#load').fadeOut();
					$('#form').slideUp();
					$('#success').slideDown();
					$('#success').text('Formulaire envoyé');
				}
			});
		}
		return false;
	});
});

(formulaire php)
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf8">
	<title>Caveau du Terroir</title>
	<link type="text/css" media="screen" rel="stylesheet" href="css/index.css" >
	<link href='http://fonts.googleapis.com/css?family=Roboto:400,900italic,700italic,500italic,400italic,300italic,100italic,300,100,500,700,900' rel='stylesheet' type='text/css'>
	<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
	<script type="text/javascript" src="js/javascript.js"></script>
</head>
<body>
<header>
	<div id="content">	
		<img src="img/1.jpg" alt="Image de backgroud" id="wallpaper">
		<table id="menu">
			<tr>
				<td><a href="index.php">Tableau</a></td>
				<td><a href="graphique.php">Graphique</a></td>
				<td><a href="contact.php">Contact</a></td>
			</tr>
		</table>
	</div>
</header>
<div id="content2">
	<p><center>Contact</center></p>
	<br>
</div>
<div id="content3">
<div id="success"></div>
	<form id="form" action="contact2.php" method="post">
		<label for="nom">Nom :</label>
		<span class="error"></span>
		<input type="text" name="nom" id="nom"/>
		<label for="text">Email :</label>
		<span class="error"></span>
		<input type="email" name="email" id="email"/>
		<label for="message">Votre message :</label>
		<span class="error"></span>
		<textarea name="message" id="message"/></textarea>
		<input type="submit" id="submit" class="submit" value="Envoyer"/>
	</form>
	<div id="load"></div>
</div>
<br>
<br>
</body>
<footer>
	<div id="content4">
		<table id="menu2">
			<tr>
				<td><a href="rates.php">Mentions Légales</a></td>
			</tr>
		</table>
	</div>
</footer>
</html>

(bdd PDO connection )
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
if(!empty($_POST) && !empty($_POST['nom']) && !empty($_POST['email']) && 
	filter_var($_POST['email'],FILTER_VALIDATE_EMAIL) && !empty($_POST['message'])){
	extract($_POST);
	$nom = strip_tags($nom);
	$email = strip_tags($email);
	$message = strip_tags($message);
	try{
		$bdd = new PDO('mysql:host=127.0.0.1;dbname=caveau', 'cave', 'cave') or die (print_r($bdd->errorInfo()));
		$bdd->exec('SET NAMES utf8');	
	}
	catch(Exeption $e){
		die('Erreur:'.$e->getMessage());
	}		
	$req = $bdd->prepare('INSERT INTO Contact (nom,email,message) VALUES (:nom,:email,:message)');
	$req->execute(array(':nom'=>$nom, ':email'=>$email, ':message'=>$message));
	$req->closeCursor();
	$to = 'retropixeljura@gmail.com';
	$subject = $nom.' vous envoi un message';
	$message = nl2br($message);
	$headers = 'From:'.$email."\r\n";
	$headers.= 'MIME-version: 1.0'."\r\n";
	$headers.= 'Content-Type: text/html; charset=utf-8'."\r\n";
	mail($to,$subject,$message,$headers);
	header('Location: contact.php');
}
else{
	extract($_POST);
	if(empty($nom)) {echo 'Indiquez votre nom<br />';}
	if(empty($email) ||!filter_var($email,FILTER_VALIDATE_EMAIL)) {echo 'Indiquez un email valide<br />';}
	if(empty($message)) {echo 'Indiquez votre message<br />';}
}
?>

Merci de pouvoir m'aider