Partage
  • Partager sur Facebook
  • Partager sur Twitter

Le serveur a renvoyé le statut HTTP 500

Sujet résolu
    24 août 2016 à 10:12:59

    Bonjour, je travaille actuellement sur un site web / application. En ce moment, je dois faire en sorte qu'un utilisateur coche des cases dans une liste (que j'ai récupérée, ainsi que les cases cochées). 

    Mais une fois l'appui sur le bouton "Valider", l'erreur suivante se présente : 

    "Une Admin-Erreur s'est produite : le serveur a renvoyé le statut HTTP 500"

    Voici le code qui pose problème et la fonction concernée:

    /*
    ** FONCTION PRIVEE
    **
    ** Opérations pour l'envoi de la requête AJAX pour mettre à jour un OTP
    ** ENTREE : - xmlhttp: objet XMLHttpRequest associé à la requête
    ** 			- idOTP : identifiant de l'OTP à mettre à jour
    */
    
    function toDoSendUpdateOTP(xmlhttp, idOTP) {
    
    	var formElement = document.getElementById('tai' + idOTP);
    	formData = new FormData(formElement);
    	formData.append('TODO', 'modifier');
    	formData.append('OTPAModifier', idOTP);
    
    	console.log(xmlhttp);
    	xmlhttp.open('POST', 'controleur/ajaxGestionOTP.php', true);
    	xmlhttp.send(formData);
    
    }

    Si quelqu'un sait d'où l'erreur peut venir et ou à une piste :) .

    Bonne journée !


    -
    Edité par TomLgl-dcl 24 août 2016 à 10:34:21

    • Partager sur Facebook
    • Partager sur Twitter
      24 août 2016 à 11:53:51

      Bonjour,

      Peut être un parse error dans ajaxGestionOTP.php.

      SI tu es sure de ta syntaxe dans ce fichier ecrit en tout debut de fichier juste apres la balise php:

      echo'<pre>';print_r($_POST);echo'</pre>';die('ok');

      Tu pourras alors voir dans l'onglet réseau (F12) de ton navigateur ce que reçoit réellement ta page pour la debugguer.

      • Partager sur Facebook
      • Partager sur Twitter
      Un petit +1 si je vous ai aidé est toujours appréciable :).
        24 août 2016 à 12:57:54

        Bonjour,

        Merci pour l'info, je viens de tester et je reçois cette erreur :

         Parse error: syntax error, jquery-2.1.4.min.js:2 Uncaught Error: Invalid XML: <pre>Array

        (

            [TODO] => lister

        )

        </pre>ok

         J'obtiens le lister mais ce n'est pas vraiment l'info qui m'est utile.

        -
        Edité par TomLgl-dcl 24 août 2016 à 12:59:20

        • Partager sur Facebook
        • Partager sur Twitter
          24 août 2016 à 13:15:51

          Pourquoi tu utilises xmlhttp et pas la fonction ajax de jquery vu qu'il est inclus dans ta page???
          • Partager sur Facebook
          • Partager sur Twitter
          Un petit +1 si je vous ai aidé est toujours appréciable :).
            24 août 2016 à 13:37:37

            j'ai repris un programme déja existant, la structure était comme telle, je ne sais pas pourquoi mon prédecesseur a fait comme cela. Tu me proposais quoi sinon à propos de cela ?
            • Partager sur Facebook
            • Partager sur Twitter
              24 août 2016 à 13:57:21

               jQuery.ajax()

              Je suis pas trop jQuery et je préfère le javascript vanilla mais pour faire de l'ajax ca reste quand même bien plus simple avec jquery.

              • Partager sur Facebook
              • Partager sur Twitter
              Un petit +1 si je vous ai aidé est toujours appréciable :).
                24 août 2016 à 14:12:35

                On m'a souvent conseillé ça mais je suis obligé de rester sur les mêmes dispositions de langage que mon prédécesseur. 

                Merci quand même :)

                Ca me confirme bien qu'il s'est trop pris la tête pour pas grand chose !

                • Partager sur Facebook
                • Partager sur Twitter
                  24 août 2016 à 14:21:35

                  TomLgl-dcl a écrit:

                  On m'a souvent conseillé ça mais je suis obligé de rester sur les mêmes dispositions de langage que mon prédécesseur. 

                  Merci quand même :)

                  Ca me confirme bien qu'il s'est trop pris la tête pour pas grand chose !


                  Peut être que jQuery a été introduit après pour utiliser un plugin qu'il aurait fallku plusieurs mois a réécrire. L'ancien code est resté ce qu'il est mais le nouveau code devrait utiliser, au moins partiellement jquery.
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Un petit +1 si je vous ai aidé est toujours appréciable :).
                    24 août 2016 à 14:41:29

                    Perso je toucherais pas à la requête AJAX. On voit que l'objet xmlhttp a été passé à la fonction toDoSendUpdateOTP, ce qui laisse penser qu'il est important pour le fonctionnement du script de réutiliser le même objet, or $.ajax va en créer un nouveau à chaque requête (ce qui est le plus souvent ce qu'on veut, on est d'accord).

                    De toute façon, c'est une erreur côté serveur : si une requête, même mal formée, peut causer une erreur, il faut absolument corriger côté serveur en filtrant les requêtes, si non ça peut être exploité pour te nuire.

                    L'erreur PHP est un peu bizarre. Je ne vois pas pourquoi PHP essaierait de parser le fichier jquery-2.1.4.min.js. Je conseillerais plutôt de regarder les logs de PHP. Tu dois avoir un dossier log à la racine de ton FTP, ou dans un dossier du genre /var/log/apache2/error.log sur un VPS/dédié.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      24 août 2016 à 14:46:49

                      ConcombreRouge a écrit:

                      Perso je toucherais pas à la requête AJAX. On voit que l'objet xmlhttp a été passé à la fonction toDoSendUpdateOTP, ce qui laisse penser qu'il est important pour le fonctionnement du script de réutiliser le même objet, or $.ajax va en créer un nouveau à chaque requête (ce qui est le plus souvent ce qu'on veut, on est d'accord).

                      De toute façon, c'est une erreur côté serveur : si une requête, même mal formée, peut causer une erreur, il faut absolument corriger côté serveur en filtrant les requêtes, si non ça peut être exploité pour te nuire.

                      L'erreur PHP est un peu bizarre. Je ne vois pas pourquoi PHP essaierait de parser le fichier jquery-2.1.4.min.js. Je conseillerais plutôt de regarder les logs de PHP. Tu dois avoir un dossier log à la racine de ton FTP, ou dans un dossier du genre /var/log/apache2/error.log sur un VPS/dédié.


                      A mon avis c'est la console javascript qui lui leve une erreur parsing. Il doit attendre du XML mais vu qu'il fait un print_r c'est pas le format attendu. Fort a parié qu'avec l'erreur 500 il a pareil sauf en cas de controle chaine vide ou code retour en amont du parsing.
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Un petit +1 si je vous ai aidé est toujours appréciable :).
                        24 août 2016 à 14:52:43

                        Merci beaucoup Comcombre Rouge je vais me pencher la dessus. Si jamais je ne trouve toujours pas je reviens vers vous !
                        • Partager sur Facebook
                        • Partager sur Twitter
                          26 août 2016 à 11:52:59

                          En fait j'avais une variable fausse, c'est ça qui provoquait tout ce cheminement jusqu'à l'erreur 500, merci pour votre aide précieuse j'ai appris pas mal de chose grâce à vos conseils !

                          Bonne journée, et bon week end :)

                          • Partager sur Facebook
                          • Partager sur Twitter

                          Le serveur a renvoyé le statut HTTP 500

                          × 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