Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ajax et Sql

Sujet résolu
    18 septembre 2017 à 20:17:01

    Bonjour,

    J'ai un problème avec la compréhension d'ajax. Mon but est avec un onclick, on fais appel à une fonction, qui exécute une requête ajax, faisant appel à un fichier php qui lui fais un update de la base de donnée et.. c'est tout. Mais cela ne fonctionne pas et je ne comprend pas pourquoi.

    Voici le code html :

    <a href="#" id="notificationLink" onclick="remiseAzero();" class="glyphicon glyphicon-bell"></a>

    La fonction js :

     function remiseAzero() 
        { 
            $.ajax({
                url: "zero_notif.php",
                type: "POST",                  
                data: { 'username': $_SESSION['Pseudo'] }
                success: function()
                {
                }
            });
         }

    Et le code php :

    require 'fonction.php';
    $bdd = getBdd();
    $pseudo = $_POST['username'];
    $requete = $bdd -> query("UPDATE photo_voter SET statut = 1 WHERE nom_user = '".$pseudo."' ");





    • Partager sur Facebook
    • Partager sur Twitter
      19 septembre 2017 à 9:40:15

      Bonjour,

      as-tu débugué un peu ?

      Qu'as-tu dans la console de ton navigateur ? (onglet "network")

      Est-ce qu'il y a passage dans la méthode "success" de ta requête AJAX ?

      Si tu as des questions sur AJAX en lui même n'hésite pas mais soit plus précis ;) (parce qu’a ce que je vois si tu as compris ce que tu à écris plus haut tu as la base) 

      -
      Edité par kokoal 19 septembre 2017 à 9:41:34

      • Partager sur Facebook
      • Partager sur Twitter
      Développeur web aimanté par les projets prometteurs
        19 septembre 2017 à 20:19:02

        Dans ma console j'ai les deux erreurs suivantes :

        Uncaught ReferenceError: remiseAzero is not defined at HTMLAnchorElement.onclick

        Uncaught SyntaxError: Unexpected identifier

        La premiere erreur est louche, car la fonction remiseAzero est bien crée, je l'ai même mise juste à coté du onclick dans un <script> pour être sure.

        Et la deuxième erreur, je ne la comprend pas, je ne sais pas ce qu'elle signifie.

        Pour te répondre à ta question "Est-ce qu'il y a passage dans la méthode "success" de ta requête AJAX ?", je ne sais pas comment voir cela, donc je ne serais te répondre.

        • Partager sur Facebook
        • Partager sur Twitter
          20 septembre 2017 à 13:13:19

          Salut,

          il y a en effet un problème dans ton script.

          As-tu bien bien importé ton fichier JavaScipt contenant ta fonction "remiseAzero" ?

          On peut voir le code au moment ou tu l'appelle ? (la totalité du JS en rapport avec ta page ?)

          Pour débuger en JavaScript je te conseil "console.log", par exemple : 

          function remiseAzero()
          {
              $.ajax({
                  url: "zero_notif.php",
                  type: "POST",                 
                  data: { 'username': $_SESSION['Pseudo'] }
                  success: function(data)
                  {
                      console.log("On passe bien dans le success");
                  }
              });
          }

          Ce que tu met dans le "console.log" s'affichera dans la console de ton navigateur.

          -
          Edité par kokoal 20 septembre 2017 à 13:18:28

          • Partager sur Facebook
          • Partager sur Twitter
          Développeur web aimanté par les projets prometteurs
            20 septembre 2017 à 16:10:45

            Bonjour,

            Je viens de corriger l'erreur donc pas besoin d'afficher tout le code, il manquait juste une virgule à la fin du data, donc le success ne fonctionnait pas.

            L'erreur est corriger mais la fonction ne fonctionne toujours pas. Au moment où je clique, la fonction js se lance, mais rien ne se passe coter php, le update, n'update pas. (ce n'est pas une erreur du update, il fonctionne).

            • Partager sur Facebook
            • Partager sur Twitter
              20 septembre 2017 à 16:29:14

              Tu as regardé dans l'onglet network de l'inspecteur de ton navigateur si la page PHP était bien appelé et ne renvoyait pas d'erreur 404 par exemple ?

              Si c'est le cas du coup il faudra revoir le chemin vers le fichier PHP (pour qu'il soit bon dans ton cas il faudrait que le fichier appelant le script JS soit au même niveau de répertoire que le fichier PHP, c'est le cas ?)

              On pourrait avoir le côté PHP ? (pour être sûr)

              -
              Edité par kokoal 20 septembre 2017 à 16:30:20

              • Partager sur Facebook
              • Partager sur Twitter
              Développeur web aimanté par les projets prometteurs
                20 septembre 2017 à 16:51:49

                J'ai trouvé une autre façon décrire le code js :

                $('#notificationLink').click(function() {
                    var url = 'zero_notif.php';
                    $.post(url, function(){
                
                    });
                });

                Et comme cela, ça fonctionne sans aucune erreur, ma requète sql du fichier php est bien lu au moment du click.

                Merci tout de même de m'avoir aider ! :)

                • Partager sur Facebook
                • Partager sur Twitter

                Ajax et Sql

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown