Bonsoir,
J'ai développé un petit module de commentaires en jQuery. J'arrive à poster mon commentaire sans problème, il s'insère bien en base de données, les champs sont bien transmis de l'Ajax vers le PHP et si je laisse le changement de page s'effectuer j'observe bien un "1" sur la page PHP qui correspond à mon echo lors d'un succès.
Seulement, je souhaite récupérer ce 1 par la méthode success afin d'afficher un message en jQuery sur la page où le commentaire est posté mais je ne parviens pas à récupérer ce 1. La fonction success interprète le code comme si le commentaire n'avait pas été posté.
Mon formulaire :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <div id="addComm"> <form id="ajoutCommentaire" name="ajoutCommentaire" method="post" action="traitements/ajoutCommentaire.php"> <input type="text" name="pseudo" id="pseudo" placeholder="Votre pseudo"><br /> <textarea rows="5" cols="35" id="contenuCommentaire" name="contenuCommentaire" placeholder="Commenter..."></textarea> <br /><button class="submit button" type="submit">Poster</button> </form> </div>
Ma fonction Ajax :
Mon code PHP :
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 $(document).ready( function () { $("#ajoutCommentaire").submit( function() { $.ajax({ type: "POST", url: "traitements/ajoutCommentaire.php", data: "pseudo="+$("#pseudo").val()+"&contenuCommentaire="+$("#contenuCommentaire").val(), success: function(msg){ if(msg=="1") { $("#resultat").html("Commentaire posté !"); } else{ $("#resultat").html("Veuillez remplir tous les champs."); } } }); return false; }); });
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 if(isset($_POST['pseudo']) && isset($_POST['contenuCommentaire'])) { if(($_POST['pseudo'] != "") && ($_POST['contenuCommentaire'] != "")){ $date = date("dmY"); $pseudo = $_POST['pseudo']; $contenu = $_POST['contenuCommentaire']; $req = $connexion->prepare("INSERT INTO commentaires (auteur, texte, date) VALUES ('".$pseudo."', '".$contenu."', ".$date.")"); $req->execute(array( "auteur" => $pseudo, "texte" => $contenu, "date" => $date )); $data = $req->fetchAll(); if($data > 0){ echo 1; //header("location:". $_SERVER['HTTP_REFERER']); } else{ echo 0; } } }
Partager