Partage
  • Partager sur Facebook
  • Partager sur Twitter

Soumission de formulaire par Ajax

    13 octobre 2019 à 23:22:44

    Bonjour,

    J'ai parcouru le forum pour résoudre mon problème.J'ai l'impression d'avoir bien avancé mais je reste coincée, je n'ai pas la solution finale.
    Je viens donc demander de l'aide à la communauté !

    Merci par avance à toutes les réponses.

    Mon problème : je veux soumettre un formulaire via JS/Ajax au bout de x secondes (5 pour l'exemple).
    J'ai testé de soumettre mon formulaire via le bouton submit et cela fonctionne. J'ai testé des "alert" pour vérifier que js récupère les bonnes données et oui.
    Mais rien ne se met à jour dans ma base avec l'ajax.

    Sur la page 1, mon code html :

    <form action="validation_message_TEST.php" method="post" id="form">
    	<textarea name="message" rows="10" cols="80" id="message" style=""><?php
    	<input type="hidden" name="id_paire" value="125" id="id_paire"/>
    	<input type="hidden" name="id_enfant" value="25" id="id_enfant"/>
    	<input type="submit" value="Enregistrer en brouillon"/>
    </form>


    Et mon code JS placé tout en bas de la page :

    <script>
    function mafonction() {
    	
    $("#form").submit(function(e) {
        var form = $(this);
        var url = form.attr('action');
        $.ajax({
    
               type: "POST",
               url: url,
    		   data:{
    			    id_paire: $("input#id_paire").val(),
    				id_enfant: $("input#id_enfant").val(),
    				message: $("textarea#message").val()
    		   }
             });
    
    
    });
    }
      
     setTimeout(mafonction, 5000); 
     </script>

    Sur la page PHP appelée :

    	$message=$_POST["message"];
    	$id_paire=$_POST["id_paire"];
    	$id_enfant=$_POST["id_enfant"];

    Puis ma fonction qui enregistre en base (fonction qui fonctionne lors du submit via le bouton submit.

    Qu'ai-je pu rater ?

    Elise





    • Partager sur Facebook
    • Partager sur Twitter
      14 octobre 2019 à 10:03:42

      Salut,

      Il faut que tu regardes ce qui passe à plusieurs niveaux :

      - dans le débuggeur du navigateur (Chrome ou autre avec F12)

      - dans le PHP en ajoutant des logs au moment de la récupération des infos et juste avant l'écriture en BDD

      • Partager sur Facebook
      • Partager sur Twitter
        14 octobre 2019 à 20:06:15

        Bonjour,

        Merci pour ta réponse.
        Oui, pardon, j'avais oublié de préciser mais la console JS n'indique aucune erreur.

        Pour les logs php, j'avoue que je n'ai jamais fait ça. Quand j'ai un bug, j'affiche habituellement les erreurs dans la page mais en Ajax, ce n'est pas pratique. J'ai essayé d'envoyer les logs vers un fichier mais je ne sais pas si j'ai la bonne méthode. Précision qui ne sert peut-être pas : je suis chez OVh avec un serveur mutualisé donc je ne sais pas si je peux récupérer les logs depuis l'espace client.

        Voici ce que j'ai mis en début de page (j'ai pré-créé le fichier et j'ai mis le dossier provisoirement en chmod 777) :

        error_reporting(E_ALL);
        ini_set('ignore_repeated_errors', TRUE); 
        ini_set('display_errors', TRUE); 
        ini_set('log_errors', TRUE); 
        ini_set('error_log', 'errors.log'); 
        ini_set('log_errors_max_len', 1024); 



        • Partager sur Facebook
        • Partager sur Twitter
          14 octobre 2019 à 22:03:54

          Tu as une doc ovh pour accéder aux logs :

          https://docs.ovh.com/fr/hosting/mutualise-consulter-les-statistiques-et-les-logs-de-mon-site/

          Par ailleurs ce serait bien de regarder aussi ce qui passe sur le réseau au moment de la requête dans l'onglet network du navigateur, histoire de vérifier si c'est correct.

          Pense à vérifier si ce n'est pas un pb de droits d'accès à la base aussi.

          Bonne chance.

          • Partager sur Facebook
          • Partager sur Twitter

          Soumission de formulaire par Ajax

          × 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