Systeme asynchrone d,envoie de message dans la bdd avec ajax php mysql

Résolu
ir_1997 Messages postés 97 Date d'inscription   Statut Membre Dernière intervention   -  
ir_1997 Messages postés 97 Date d'inscription   Statut Membre Dernière intervention   -
bonjour j'aimerais faire un Systeme asynchrone d,envoie de message dans la bdd
la suis un peu perdu mon code ajax ne marche pas


document.getElementById("envoi").addEventListener("submit", function(e) {
  e.preventDefault();
 
  var data = new FormData(this);
  alert("data");
 
  var xhr = new XMLHttpRequest();
 
  xhr.onreadystatechange = function(){
    if (this.readyState == 4 && this.status == 200) {
      console.log(this.response);
      var res = this.response;
     
    } else if (this.readyState == 4) {
      alert("Une erreur est survenue...");
    }
  };
 
  xhr.open("POST", "send.php", true);
  xhr.responseType = "json";
  // xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xhr.send(data);
 
  return false;
});​

if (isset($_POST['submit'])) {
if(isset ($_POST['message']) and !empty($_POST['message'])) {
 $message = htmlspecialchars($_POST['message']);

 $ins = $bdd->prepare('INSERT INTO messages(message) VALUES (?)');
          $ins->execute(array($message)); }}?> 




 <form method="POST" class="envoi" id="envoi">
          
         <textarea  classe='message' placeholder="Votre message" name="message"></textarea>
         <br /><br />
         <input class="submit" name="submit" type="submit" value="envoie"   />
         <br /><br />
         <?php if(isset($error)) { echo '<span style="color:red">'.$error.'</span>'; } ?>
          
   
   </form>
A voir également:

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

ça ne marche ... c'est vague ...

As tu vérifié si il y a avait des erreurs dans la console js de ton navigateur ?
(pour rappel.. pour débuguer facilement de l'ajax, il faut utiliser FireFox et activer le debug XHR )

0
ir_1997 Messages postés 97 Date d'inscription   Statut Membre Dernière intervention  
 
voila ce que sa me m'affiche dans la console et aussi dans la source
pour firefox c'est noté


0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Tu as visiblement des erreurs dans ton code.
Mais sans le voir entièrement.. impossible de savoir où est le souci.

En attendant, le peu que tu nous montres ne comporte pas d'erreur
par exemple
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>TEST</title>
</head>
<body>


  <form method="POST" class="envoi" id="envoi">
     <textarea  classe='message' placeholder="Votre message" name="message"></textarea>
     <br /><br />
     <input class="submit" name="submit" type="submit" value="envoie"   />
     <br /><br />
      
  </form>

  <script type="text/javascript">

  document.getElementById("envoi").addEventListener("submit", function(e) {
    e.preventDefault();
   
    var data = new FormData(this);
    alert("data");
   
    var xhr = new XMLHttpRequest();
   
    xhr.onreadystatechange = function(){
      if (this.readyState == 4 && this.status == 200) {
        console.log(this.response);
        var res = this.response;
       
      } else if (this.readyState == 4) {
        alert("Une erreur est survenue...");
      }
    };
   
    xhr.open("POST", "send.php", true);
    xhr.responseType = "json";
    // xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.send(data);
   
    return false;
  });
  </script>
</body>
</html>
0
ir_1997 Messages postés 97 Date d'inscription   Statut Membre Dernière intervention   > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
D’accord mais es ce que je peux
Mettre le code Ajax html php dans un même script ?
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > ir_1997 Messages postés 97 Date d'inscription   Statut Membre Dernière intervention  
 
En général on met le code php dans un fichier à part.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
Salut
Tu penseras à mettre la discussion en résolue ?
Merci
0
ir_1997 Messages postés 97 Date d'inscription   Statut Membre Dernière intervention   > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
c'est fait
0