Bonjour à toutes et à tous,
Je souhaite permettre à l'utilisateur de modifier son pseudo dans la zone Mon Compte. La modification s'effectue correctement en Base de données, mais lors de l'affichage le loader Ajax reste sur le formulaire et aucun des messages que j'ai crée disant à l'utilisateur que c'est ok ne s'affiche.
Code javascript : 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 // lors de la soumission du formulaire $("#modifier_profil").submit(function(event) { event.preventDefault(); // pendant la soumission on affiche le loader d'attente Ajax $("#loader").show(); var pseudo = $(this).find("input[name=pseudo]").val(); // lors de l'appel Ajax la référence #inscriptionForm sera perdue il faut donc la réaffecter var form = $(this); // pour l'appel Ajax $.ajax({ url: $(this).attr('action'), type: $(this).attr('method'), data: "pseudo=" +pseudo, dataType : 'text', cache: false, success: function(data){ if(retour=="success") { $("#loader").hide(); // on cache le loader d'attente Ajax $('#inscriptionSent').fadeIn().text("Modification réussie de votre pseudo !"); $('#inscriptionSent').fadeOut(6000); $(".modifierProfil").delay(3000).fadeOut(); setTimeout("document.location.reload(true);", 3000); } // fin if(data=="success") } // fin function(data) }); // fin $.ajax() // on vide les champs du formulaire SAUF le bouton radio et celui de soumission $(':input','#modifier_profil').not(':submit, :button').val(''); }); // fin $("#modifier_profil").submit()
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 if(isset($_POST['pseudo'])) { // on vérifie que le pseudo n'est pas déjà présent en Base $sql = "select count(*) as nbr from membres where pseudo ='".$_POST['pseudo']."'"; $stmt=$conn->prepare($sql); $stmt->execute(); // creation de la variable $result recuperant les lignes et les retournant EN TANT que tableau associatif $result=$stmt->fetch(PDO::FETCH_ASSOC); print_r($result); if(($result['nbr']) == 0) { // si le nombre d'occurrence du résultat de la requête est nul alors ... $stm = $conn->prepare("UPDATE membres SET pseudo = '".$_POST['pseudo']."' where pseudo = '".$_SESSION['pseudo']."'"); $stm->execute(); echo "success"; // utilisé pour l'appel Ajax } else { // sinon ... echo "failed"; } } // fin if(isset($_POST['pseudo']))
Merci d'avance.
Transact.
Partager