Partage
  • Partager sur Facebook
  • Partager sur Twitter

[MySQL] Exécution requête

Sujet résolu
    10 juin 2011 à 9:52:05

    Bonjour à tous,

    Dans mon code php, je veux transmettre les informations dans ma base MySQL grâce à un formulaire d'inscription , mais dans la table inscrit , le mot de passe prend la place du mail et le mail prend la place du pseudo quand un nouveau membre s'inscrit , je pense que sa viens de la requête que je crée.
    Voici un bout de code:

    <?php


    include ("connexion.php");
    //On récupère les valeurs du formulaire
    $pseudo_ins = $_POST['pseudo'];
    $mail_ins = $_POST['email'];
    $pwd_ins = $_POST['mot de passe'];


    $serveur = "db2496.1and1.fr";
    $nom_base = "db329827879";
    $login = "dbo329827879";
    $motdepasse = "mdpobiies2011";
    // on se connecte à MySQL
    $connexion = mysql_connect ($serveur,$login,$motdepasse) or die ('ERREUR '.mysql_error());
    // on sélectionne la base
    mysql_select_db ('db329827879');
    //on crée la requête sql
    $requete_insert_table_inscrits='INSERT INTO inscrits VALUES("'.$pseudo_ins.'", "'.$mail_ins.'", "'.md5($pwd_ins).'",1);';
    // on envoie la requête
    $req = mysql_query($requete_insert_table_inscrits);
    //On ferme la connexion à MySQL
    mysql_close();

    ?>

    Merci de bien vouloir m'aider
    • Partager sur Facebook
    • Partager sur Twitter
      10 juin 2011 à 9:57:14

      Ben quand tu fait un INSERT, si tu précises pas l'ordre des colonnes, faut que ce soit le même que dans ta base de données. Donc je suppose que tu inverses le mail et le mdp...
      • Partager sur Facebook
      • Partager sur Twitter
        10 juin 2011 à 10:05:26

        L'ordre est bon , c'est juste qu'il est décalé une case.
        Le premier c'est un auto-incrément donc il écrase la première valeur de ma requête.
        • Partager sur Facebook
        • Partager sur Twitter
          10 juin 2011 à 10:07:35

          Alors c'est le dieu du PHP qui t'en veut...

          T'as forcément inversé des truc hein... Soit dans la requete, soit dans ton formulaire.
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            10 juin 2011 à 10:09:52

            Passe au Sha1() car plein de site on référencé les solutions possible via des bots. Ou bien utilise un suffix, pour mettre une meilleur protection des mots de passe.
            Je te conseille de faire :
            <?php md5('5)=}4455'.$pwd_ins.'5~4/%|#') ?>
            

            Et le mieux serait de passer en sha1 :
            <?php sha1('5)=}4455'.$pwd_ins.'5~4/%|#') ?>
            


            Et aussi :
            <code type="php">Ton code</code>
            


            Les balises zcode sont tes amis... Ça donne pas envie de lire le sujet.

            <?php
            echo 'Je recopie 100 fois : "Je dois utiliser les balises zcodes."<br>';
            for ($i=1;$i<=100;$i++) {
               echo 'Je dois utiliser les balises zcodes.<br>.';
            }
            ?>
            
            • Partager sur Facebook
            • Partager sur Twitter
              10 juin 2011 à 11:04:56

              Voici le code html du formulaire
              <div class="formulaire">
              <p style="left:10px; position:absolute; top:10px;"><a href="index.php">&laquo; Retour </a></p>
              <form method='post' action='envoieinscription.php' id=formulaire >
              
              							<p>
              						
              								<label class="label2" for="pseudo">Pseudo</label>
              								<input style="width:200px;height:20px;" type="text" id="pseudo" name="pseudo" >
              							</p>
              							<p>
              							
              								<label class="label2" for="email">Email</label>
              								<input style="width:200px;height:20px;" type="text" id="email" name="email">
              							</p>								
              							<p>
              							
              								<label class="label2" for="mot de passe">Mot de passe</label>
              								<input style="width:200px;height:20px;" type="password" id="mot de passe" name="mot de passe">
              							</p>	
              							<p>
              							
              								<label class="label2" for="confirmer">Confirmez mot de passe</label>
              								<input style="width:200px;height:20px;" type="password" id="confirmer" name="confirmer"value=<?echo $confirmer;?>>
              							</p>
              							<p>
              							<br />
              							<br />
              							<input style='margin-left:100px;' type=reset value=Effacer>  
              							<input style='margin-left:10px;' name='EnvoyerDonnee' type="submit" value="Envoyer" id="send">
              							</p>
              </form>
              </div>
              


              Voici la capture d'écran de la base de donnés


              Image utilisateur
              • Partager sur Facebook
              • Partager sur Twitter
                10 juin 2011 à 11:07:29

                Bon ben je confirme, dans ta table c'est pas le même ordre
                • Partager sur Facebook
                • Partager sur Twitter
                  10 juin 2011 à 11:13:40

                  Voici la base de donnés :
                  Image utilisateur
                  • Partager sur Facebook
                  • Partager sur Twitter
                    10 juin 2011 à 11:16:10

                    ... Gosh, ça fait une heure que je pense que le mot de passe et l'email sont inversé. Mais en fait c'est un décalage... Sorry, ma faute, mal lu.

                    Bon ben c'est simple en fait. Vu que la première colonne c'est id, et que tu lui donne pas cete colonne dans la requête, il prend le speudo pour li'd et le reste est décalé aussi.
                    Donc précise les colonnes dans ta requête ou donne une valeur (chaine vide ou NULL) pour l'id.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      14 juin 2011 à 9:09:50

                      J'ai essayez tes 2 solutions sans succès !
                      Merci quand même je vais continuer à chercher.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        14 juin 2011 à 9:30:26

                        ... Montre ton code avec mes solutions alors, avec les erreurs correspondantes, parce que ça doit marcher...
                        • Partager sur Facebook
                        • Partager sur Twitter
                          14 juin 2011 à 9:56:44

                          J'ai enlevé le 1 qui était à la fin de la parenthèse du coup cela marche , les données sont biens dans l'ordre dans la base de donnée.
                          $requete_insert_table_inscrits='INSERT INTO inscrits (pseudo_ins,mail_ins,pwd_ins) VALUES("'.$pseudo_ins.'", "'.$mail_ins.'", "'.md5($pwd_ins).'");';
                          


                          Maintenant j'ai un petit soucis , le mot de passe crypté est toujours le même dans ma base quelque soit les mots de passe que je rentre lors de l'inscription
                          • Partager sur Facebook
                          • Partager sur Twitter
                            14 juin 2011 à 10:00:03

                            Montre ton code complet, entre balise, et avec <?php au début pour colorer.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              14 juin 2011 à 10:03:11

                              Voici mon code:

                              <?php
                              
                              
                              include ("connexion.php");
                              //On récupère les valeurs du formulaire
                              $pseudo_ins = $_POST['pseudo'];
                              $mail_ins = $_POST['email'];
                              $pwd_ins = $_POST['mot de passe'];
                              
                              
                              
                              $serveur = "db2496.1and1.fr";
                              $nom_base = "db329827879";
                              $login = "dbo329827879";
                              $motdepasse = "mdpobiies2011";
                              // on se connecte à MySQL
                              $connexion = mysql_connect ($serveur,$login,$motdepasse) or die ('ERREUR '.mysql_error());
                              // on sélectionne la base
                              mysql_select_db ('db329827879');
                              //on crée la requête sql
                              $requete_insert_table_inscrits='INSERT INTO inscrits (pseudo_ins,mail_ins,pwd_ins) VALUES("'.$pseudo_ins.'", "'.$mail_ins.'", "'.md5($pwd_ins).'");';
                              // on envoie la requête
                              $req = mysql_query($requete_insert_table_inscrits);
                              //On ferme la connexion à MySQL
                              mysql_close(); 
                              
                                
                              
                              
                              ?>
                              
                              • Partager sur Facebook
                              • Partager sur Twitter
                                14 juin 2011 à 20:39:20

                                Hello,
                                c'est quoi ce point virgule en double à la fin ?

                                ici :
                                //on crée la requête sql
                                $requete_insert_table_inscrits='INSERT INTO inscrits (pseudo_ins,mail_ins,pwd_ins) VALUES("'.$pseudo_ins.'", "'.$mail_ins.'", "'.md5($pwd_ins).'");';

                                Moi je ferais cela :

                                //on crée la requête sql
                                $requete_insert_table_inscrits="INSERT INTO inscrits (pseudo_ins,mail_ins,pwd_ins) VALUES('$pseudo_ins', '$mail_ins', 'md5($pwd_ins)')";

                                Si ça peut aider.... :D
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  15 juin 2011 à 8:14:23

                                  Je vais essayer ça tout de suite merci
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    17 juin 2011 à 9:03:42

                                    J'ai testé cosy sans succès ....
                                    Dans la base de donnée dans le champ pwd_ins il ne s'affiche plus le mot de passe crypté mais "md5()"
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      17 juin 2011 à 17:08:05

                                      Salut,

                                      mais ton password en MD5 à la récupération des variables au début de ton code et tu insères que la variable.

                                      Je viens de tester ce code chez moi et ça fonctionne :

                                      <?php
                                      include ('../includes/connect.php'); //<--- ca c mon fichier de connection 
                                      
                                      
                                      //On récupère les valeurs du formulaire
                                      $pseudo_ins = 'moi';
                                      $mail_ins = 'moi';
                                      $pwd_ins = md5('123456');
                                      
                                      
                                      
                                      //on crée la requête sql
                                      $requete_insert_table_inscrits=("INSERT INTO test (pseudo_ins,mail_ins,pwd_ins) VALUES('$pseudo_ins', '$mail_ins', '$pwd_ins')");
                                      // on envoie la requête
                                      $req = mysql_query($requete_insert_table_inscrits);
                                      ?>
                                      


                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        21 juin 2011 à 9:27:47

                                        Cela fonctionne aussi chez moi je vous remercie
                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        [MySQL] Exécution requête

                                        × 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