[PROBLEME] PHP. METHOD POST

Bonjours à tous
Alors voilà j'éxpose mon problème qui en et sans doute pas un pour vous:
j'ai créé une page banale en php ou je mais à jour ma base de donnée sql
j'utilise la methode "post"
---
j'ai fais des testes et c'est bien la methode "post" qui ne marche pas avec mes requêtes sql!!!
Donc quand je rentre dans l'url les valeurs de mes variables, la base se mette bien à jours mais quand je passe par le forumlaire :-S sa coince la page reçoi les nouvels valeurs mais pas la base :-S
Si quelqu'un peut m'aidé, c'est pas de refue

23 réponses

Résumé de la discussion

Un script PHP qui met à jour une base SQL via POST ne transmet pas les valeurs lors de l’envoi par formulaire, alors que l’insertion via l’URL met bien la base à jour. Des réponses indiquent que la requête SQL est probablement en cause et conseillent de la tester sous phpMyAdmin, puis de vérifier que les données proviennent bien de $_POST et que la connexion MySQL est active. En cas de doute, il faut aussi rafraîchir l’affichage après l’exécution de la requête et vérifier les permissions d’écriture sur la base, ainsi que l’appel correct des fonctions mysql_connect et mysql_select_db.

Bobot (l’IA à votre service)
  1. modifi=cation ? C'est original ça :)

    Est-ce que ça fait bien sérieux comme URL ? :))

    Si tout s'affiche normalement le problème vient de ta requête SQL, teste la sous phpMyAdmin , si tu l'utilises.

    .::: "A trop vouloir feindre de faire fi, on finit 
    par faire fi de vouloir feindre." 
    :::.
    2
    1. Si tu nous mettais un petit bout de ton code ça ne serait pas refus non plus.

      Est-ce que tu récupères tes variables avec la fonction $_POST ?

      .::: "A trop vouloir feindre de faire fi, on finit 
      par faire fi de vouloir feindre." 
      :::.
      0
      1. Merci flokocha!!!
        Je vais testé avec $_POST ;-)
        J'ai posté y'a même pas 2minutes et j'ai déjà une réponses merci flokocha ;-)
        0
        1. Bonjour.

          Donc quand je rentre dans l'url les valeurs de mes variables
          Quand tu rentres dans l'url les valeurs de tes variables, ces variables sont transmises par la méthode GET (et sont accessibles via le tableau super global $_GET)... Le problème vient peut-être de là.

          Pour debugger, en tout début de page, fais un truc du genre :
          print('<pre>');
          print_r($_POST);
          print_r($_GET);
          print('</pre>')
          pour voir ce que contiennent les tableaux d'entrée des méthodes POST et GET.

          .:: TaBou JuNioR ::.
          J'ai des questions à toutes vos réponses. [W. Allen]
          0
        2. @TaboujrAlors voilà j'ai testé avec $_POST mais c'est exatement pareil la page reçoi les infos mais la requête ne la traite pas!
          voilà:
          $sql = "UPDATE dhcp SET addr_mac='".$_POST[addr_mac]."', addr_ip='".$_POST[addr_ip]."', net='".$_POST[net]."', loc_bat='".$_POST[loc_bat]."', loc_eta='".$_POST[loc_eta]."', who_repon='".$_POST[who_repon]."', who_tel='".$_POST[who_tel]."', sys_os='".$_POST[sys_os]."', who_use='".$_POST[who_use]."', nom_servi='".$_POST[nom_servi]."', nom_labo='".$_POST[nom_labo]."', loc_prise='".$_POST[loc_prise]."', descript='".$_POST[descript]."' WHERE ulid = '".$_POST[ulid]."'";
          mysql_query($sql,$bd_accee);
          avec la methode "post"!! :-S
          merci pour vos réponse c'est vraiment époustouflant!!!
          0
        3. @:-) FRIENDSUn tout petit conseil : en face de développement, fais un petit echo $sql; avant d'éxectuer tes requêtes pour vérifier si elles sont correctement écrites (et pour tester, un copier/coller dans phpMyAdmin pour voir si elles fonctionnent).

          Tu as essayé d'afficher les tableaux $_POST et $_GET comme je t'ai dit ? Ca donne quoi ?

          Et une dernière petite question : les données que tu traites, elles viennent d'un formulaire ?

          .:: TaBou JuNioR ::.
          J'ai des questions à toutes vos réponses. [W. Allen]
          0
      2. La syntaxe exacte est $_POST['addr_mac'] .

        .::: "A trop vouloir feindre de faire fi, on finit 
        par faire fi de vouloir feindre." 
        :::.
        1
        1. Bien vu floko ;-) (à quand un colorisateur syntaxique multi-langage sur ce forum ? :-D)

          .:: TaBou JuNioR ::.
          J'ai des questions à toutes vos réponses. [W. Allen]
          0
        2. @TaboujrC'est vrai que ça serait sympa ! :)

          .::: "A trop vouloir feindre de faire fi, on finit 
          par faire fi de vouloir feindre." 
          :::.
          0
      3. Alors voila le $_POST me donné mais valeur comme je l'ai est mise dans mon forumlaire (echo " <form action=\"index.php?modifi=cation\" method=\"post\">\n";)
        et pour l'sql les valeur son bien a l'interieur!
        echo de sql:
        UPDATE dhcp SET addr_mac='qsdsqddqs' .....
        (toujours avec $_POST)
        0
        1. :-S que je l'écrive $_POST['var'] ou $_POST[var] sa sort la même chose dans l'echo sql :-S
          0
          1. As-tu essayé d'exécuter ta requête directement dans PhpMyAdmin ou équivalent ? C'est peut-être elle qui pose problème.

            .:: TaBou JuNioR ::.
            J'ai des questions à toutes vos réponses. [W. Allen]
            0
            1. Ah ! Les grands esprits se rencontrent ! :)

              .::: "A trop vouloir feindre de faire fi, on finit 
              par faire fi de vouloir feindre." 
              :::.
              0
          2. Oui, elle marche!!! je l'ai testé dans mysql directement!! la syntaxe est correct mais elle n'a pas l'aire de vouloir etre executé par mon mysql_query();
            encore merci pour vos réponse c'est vraiement simpa!!
            0
            1. ;-) sa ma vraiment fait marré le modifi=cation ;-)
              0
              1. C'est vrai que c'est drôle et original :-)

                .:: TaBou JuNioR ::.
                J'ai des questions à toutes vos réponses. [W. Allen]
                0
              2. Moi j'aurais mis modif=ication, ça a plus d'allure une variable "modif" ! :)

                .::: "A trop vouloir feindre de faire fi, on finit 
                par faire fi de vouloir feindre." 
                :::.
                0
            2. Essaie de mettre un die sur ta requête pour récupérer l'erreur.

               mysql_query($sql,$bd_accee) or die (mysql_error()); 


              .:: TaBou JuNioR ::.
              J'ai des questions à toutes vos réponses. [W. Allen]
              0
              1. Désolé sa n'affiche rien de plus :-S
                0
                1. Ben c'est plutôt bon signe, ça veut dire que ta requête ne génère pas d'erreur ;)

                  Comment est-ce que tu vois que la base n'est pas updatée ?

                  .:: TaBou JuNioR ::.
                  J'ai des questions à toutes vos réponses. [W. Allen]
                  0
              2. Tu n'as aucun message d'erreur ?!

                .::: "A trop vouloir feindre de faire fi, on finit 
                par faire fi de vouloir feindre." 
                :::.
                0
                1. Alors j'ai aucune erreur ni php ni sql et a chaque teste de modification de valeur dans ma base je regarde avec mysql si elle on été modifié :-S malheurement ce n'est pas le cas!
                  merci encore a tous pour être sur mon sujet depuis plus de 30minutes ;-)
                  je suis impressioné de voire autant de post en si peu de temps!!! (la base sql ici dois etre importante et dois marché a merveille ;-))
                  0
                  1. Euh, là, je cale...

                    Tu penses bien à rafraîchir l'affichage quand tu vérifies si ton script a exécuté la requête ?

                    .:: TaBou JuNioR ::.
                    J'ai des questions à toutes vos réponses. [W. Allen]
                    0
                    1. Moi aussi, je ne vois pas quoi faire de plus ...

                      Tu te connectes bien à ta base avec mysql_connect et mysql_select_db avant ?

                      .::: "A trop vouloir feindre de faire fi, on finit 
                      par faire fi de vouloir feindre." 
                      :::.
                      0
                      1. oui!! enfin c'est pas grave si vous ne trouvé pas :-S c'est déja simpa d'avoir eseillé!!!

                        malheuresement tu deveras retiré t'as signature qui ne seras plus valable!!
                        0
                        1. À mon avis tu as du mal lire sa signature ! :) (il y a une petite subtilité)

                          D'ailleurs je l'adore cette citation !

                          .::: "A trop vouloir feindre de faire fi, on finit 
                          par faire fi de vouloir feindre." 
                          :::.
                          0
                      2. la parti sql dois marché vue quand quand je rentre la valeur des varaibla dans l'url sa marche nikel mais quand je passe par le forumlaire la page affiche les nouvelle valeur mais pas la base :-S
                        Merci flokocha & Taboujr ;-)
                        0
                        1. non je parlé pour:
                          .:: TaBou JuNioR ::.
                          J'ai des questions à toutes vos réponses. [W. Allen] <-----
                          --> C'EST POUR DECONNEE .:: TaBou JuNioR ::. ;-)<--
                          0
                          1. Mais moi aussi je parlais bien de cette signature là ! :)

                            Mais j'avais pas compris ce que tu voulais dire ! Maintenant c'est fait ! :)

                            .::: "A trop vouloir feindre de faire fi, on finit 
                            par faire fi de vouloir feindre." 
                            :::.
                            0
                        2. ;-) ok bon bah merci pour votre aide!!! 45minutes pour 30 posts!!!
                          merci vraiment!!!
                          0
                          1. Ce qui me rend dingue dans cette histoire c'est que tu dis que ça marche si tu passes tes varables avec la méthode GET !

                            Je ne comprends pas du tout en quoi les passer avec POST change quelquechose !

                            D'autant plus que tu dis que ta requête s'affiche correctement même avec POST !

                            .::: "A trop vouloir feindre de faire fi, on finit 
                            par faire fi de vouloir feindre." 
                            :::.
                            0
                            • 1
                            • 2