Partage
  • Partager sur Facebook
  • Partager sur Twitter

Enregistrer dans une BDD

    20 novembre 2007 à 1:15:15

    Bonsoir
    D'abord je tiens a vous remercier pour le travail que vous faites sur le site du zéro.
    Au fait je suis en plein construction de mon site et il y'a un formulaire a remplir pour etre membre. Le probleme est que lorsque je lance l'application tout se passe apparemment bien seulement que lorque je verifie dans ma base de donnée rien n'a été enregistré.

    Voici mon script php:
    <code type="php">
    <?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("test");



    if (isset($_POST['pseudo']) AND isset($_POST['pass']) AND isset($_POST['nom'])AND isset($_POST['prenoms'])AND isset($_POST['date_naissance'])AND isset($_POST['adresse'])AND isset($_POST['ville'])AND isset($_POST['commune'])AND isset($_POST['quartier'])AND isset($_POST['boite_postale'])AND isset($_POST['email']))
    {
    $pseudo = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
    $pass = mysql_real_escape_string(htmlspecialchars($_POST['pass']));
    $nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
    $prenoms = mysql_real_escape_string(htmlspecialchars($_POST['prenoms']));
    $date_naissance = mysql_real_escape_string(htmlspecialchars($_POST['date_naissance']));
    $adresse = mysql_real_escape_string(htmlspecialchars($_POST['adresse']));
    $ville = mysql_real_escape_string(htmlspecialchars($_POST['ville']));
    $commune = mysql_real_escape_string(htmlspecialchars($_POST['commune']));
    $quartier = mysql_real_escape_string(htmlspecialchars($_POST['quartier']));
    $boite_postale = mysql_real_escape_string(htmlspecialchars($_POST['boite_postale']));
    $email = mysql_real_escape_string(htmlspecialchars($_POST['email']));


    // On peut enfin enregistrer
    mysql_query("INSERT INTO membres VALUES('', '" . $pseudo . "', '" . $pass . "','" . $nom . "','" . $prenoms . "','" . $date_naissance . "','" . $adresse . "','" . $ville . "','" . $commune . "','" . $quartier . "','" . $boite_postale . "','" . $email . "',)")
    or die (mysql_error());
    echo "Bravo votre inscription s'est effectuée avec succès, veuillez vous connecté";
    mysql_close();
    }
    </ code>
    • Partager sur Facebook
    • Partager sur Twitter
      20 novembre 2007 à 3:33:12

      Salut

      lève les double guillemet pour que ta requette ressemble à ça :

      1. mysql_query("INSERT INTO membres VALUES('','$pseudo', '$pass','$nom','$prenoms','$date_naissance','$adresse','$ville','$commune','$quartier','$boite_postale','$email')") OR die (mysql_error());


      Si ça corrige pas ton erreur vérifie que dans ta table sql il y a autant de champ que ceux que tu as mis dans ta requette.
      • Partager sur Facebook
      • Partager sur Twitter
        20 novembre 2007 à 3:40:50

        Et s'il te plait, colorie ton code, à vrai dire en arrivant j'avais pas envie de répondre..
        • Partager sur Facebook
        • Partager sur Twitter
          20 novembre 2007 à 21:42:29

          Merci a vous de m'avoir repondu et je m'excuse si je n'ai pas coloré mon code cependant après avoir enlevé les doubles guillemets et vérifié le nombre de champ dans ma table le probleme reste le meme. Je ne sais vraiment pas ou est le probleme. Aidez moi svp! Merci
          • Partager sur Facebook
          • Partager sur Twitter
            20 novembre 2007 à 21:50:27

            "','" . $boite_postale . "','" . $email . "',)")

            pas de virgule à la fin :p
            • Partager sur Facebook
            • Partager sur Twitter
              20 novembre 2007 à 21:52:39

              Citation : Jeff2marseille

              Salut

              lève les double guillemet pour que ta requette ressemble à ça :

              1. mysql_query("INSERT INTO membres VALUES('','$pseudo', '$pass','$nom','$prenoms','$date_naissance','$adresse','$ville','$commune','$quartier','$boite_postale','$email')") OR die (mysql_error());




              En réalité, ça requete était très bien comme ça. Il ne s'agit pas du tout d'une histoire double quote... Il a juste concaténé (et je trouve que c'est un bon réflexe).

              A mon avis l'erreur vient plutot de la virgule qui traine à la fin de ça requete. Cependant, il serait aussi judicieux d'indiquer si le or die(mysql_error()) te renvoie quelque chose. Tu dis apparament tout c'est bien passé. C'est à dire, tu lis sur ton écran "Bravo votre inscription s'est effectuée avec succès, veuillez vous connecté"

              Cordialement,
              patouche
              • Partager sur Facebook
              • Partager sur Twitter
                20 novembre 2007 à 22:00:50

                Ah oui pardon j'avais oublié de le mentionné le message n'apparait pas juste un page blanche.
                • Partager sur Facebook
                • Partager sur Twitter
                  20 novembre 2007 à 22:20:24

                  1. <?php
                  2. // ESSAIE CE CODE ET DIS-NOUS SI IL PRODUIT UNE PAGE BLANCHE ?
                  3. if (isset($_POST['pseudo'])
                  4.         AND isset($_POST['pass'])
                  5.         AND isset($_POST['nom'])
                  6.         AND isset($_POST['prenoms'])
                  7.         AND isset($_POST['date_naissance'])
                  8.         AND isset($_POST['adresse'])
                  9.         AND isset($_POST['ville'])
                  10.         AND isset($_POST['commune'])
                  11.         AND isset($_POST['quartier'])
                  12.         AND isset($_POST['boite_postale'])
                  13.         AND isset($_POST['email']))
                  14. {
                  15.         $pseudo         = mysql_real_escape_string(htmlspecialchars($_POST['pseudo']));
                  16.         $pass           = mysql_real_escape_string(htmlspecialchars($_POST['pass']));
                  17.         $nom            = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
                  18.         $prenoms        = mysql_real_escape_string(htmlspecialchars($_POST['prenoms']));
                  19.         $date_naissance = mysql_real_escape_string(htmlspecialchars($_POST['date_naissance']));
                  20.         $adresse        = mysql_real_escape_string(htmlspecialchars($_POST['adresse']));
                  21.         $ville          = mysql_real_escape_string(htmlspecialchars($_POST['ville']));
                  22.         $commune        = mysql_real_escape_string(htmlspecialchars($_POST['commune']));
                  23.         $quartier       = mysql_real_escape_string(htmlspecialchars($_POST['quartier']));
                  24.         $boite_postale  = mysql_real_escape_string(htmlspecialchars($_POST['boite_postale']));
                  25.         $email          = mysql_real_escape_string(htmlspecialchars($_POST['email']));
                  26.         // On peut enfin enregistrer
                  27.         mysql_connect("localhost", "root", "");
                  28.         mysql_select_db("test");
                  29.         mysql_query("INSERT INTO membres VALUES('', '" . $pseudo . "', '" . $pass . "','" . $nom . "','" . $prenoms . "','" . $date_naissance . "','" . $adresse . "','" . $ville . "','" . $commune . "','" . $quartier . "','" . $boite_postale . "','" . $email . "')")
                  30.                         or die (mysql_error());
                  31.         echo "Bravo votre inscription s'est effectuée avec succès, veuillez vous connecter !";
                  32.         mysql_close();
                  33. }
                  34. else
                  35. {
                  36.         echo "<p>Ya un blême dans ton code Cookiiz !</p>\n";
                  37. }
                  38. ?>
                  • Partager sur Facebook
                  • Partager sur Twitter
                  French language was not found on this server.
                    20 novembre 2007 à 22:32:07

                    Cette fois c'est le echo du else qui s'affiche. et je ne vois toujours rien dans ma table.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 novembre 2007 à 22:40:46

                      Alors si le else s'exécute ça veut dire que ton if n'est pas rempli !
                      En effet tu dis à ton script d'exécuter la 1ère partie en mettant que si toutes les variables sont fournies (AND) c-a-d qu'elles existent toutes alors on fait la requête mais apparement une au moins des variables n'existe pas !

                      Fait un echo des variables qui proviennent de ton formulaire pour voir ce qu'elles affichent...
                      • Partager sur Facebook
                      • Partager sur Twitter
                      French language was not found on this server.
                        21 novembre 2007 à 0:02:38

                        J'ai fais un echo sur mon formulaire et il affiche tout le contenu.Alors le probleme peut venir d'ou, Aidez moi svp. Merci
                        • Partager sur Facebook
                        • Partager sur Twitter
                          21 novembre 2007 à 1:03:27

                          salut cookiiz je me suis corriger grâce a ton probléme encore merci.
                          Bon venont en au faite pour ton probléme ces trés simple.

                          tu dois mettre tes echo comme ceci


                          1. $commune . "','" . $quartier . "','" . $boite_postale . "','" . $email . "')")
                          2.                         or die (mysql_error());
                          3.         mysql_close();
                          4. }
                          5. {
                          6.        echo "Bravo votre inscription s'est effectuée avec succès, veuillez vous connecter !";
                          7. }
                          8. else
                          9. {
                          10.         echo "<p>Ya un blême dans ton code Cookiiz !</p>\n";
                          11. }


                          Voila si je ne fait pas d'erreur sa dois être comme sa pour n'afrficher que ton echo
                          • Partager sur Facebook
                          • Partager sur Twitter
                            21 novembre 2007 à 1:13:04

                            Salut,

                            Un else sans if, ça doit pas gazer terrible...


                            Tracker.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              21 novembre 2007 à 20:48:09

                              Bonjour a tous et toute je me suis basé sur se probléme pour résoudre mes petits soucis.
                              Maintenant ces moi qui a des petits soucis via mon code j'aimerais s'avoir pourquoi cela ne fonctionne pas.
                              Mon probléme ces que quand j'envois les données rien ne s'écrit dans la base de donnée quelqu'un pourais t'il medire mon petit soucis merci d'avance zeunyton.
                              Voici mon code
                              1. <form action="index.php" method="post" enctype="multipart/form-data">
                              2. <p>Titre : <input type="text" name="titre" /></p>
                              3. Contenu :<p> <textarea rows="15" cols="85" name="contenu" wrap="soft" ></textarea></p>
                              4. <?php
                              5.   if (isset($_POST['titre'])
                              6.         AND isset($_POST['contenu']))
                              7.                 {
                              8.         $titre      = mysql_real_escape_string(htmlspecialchars($_POST['titre']));
                              9.         $contenu       = mysql_real_escape_string(htmlspecialchars($_POST['contenu']));
                              10.   mysql_connect("???????", "??????", "??????");
                              11.   mysql_select_db("???????");
                              12.   mysql_query("INSERT INTO news VALUES('$titre', '$contenu')")
                              13.   or die (mysql_error());
                              14.                 }
                              15. ?>
                              16. <input type="submit" name="envoyer" value="Envoyez" /> <input type="reset" name="effacer" value="Effacer" />
                              17. </form>
                              • Partager sur Facebook
                              • Partager sur Twitter
                                21 novembre 2007 à 20:54:31

                                Tu n'as que deux colonnes dans ta table news ? parce que la syntaxe utilisée dans l'insert sous-entend que tu fournis la valeur de tous les champs.


                                Tracker.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  21 novembre 2007 à 20:58:47

                                  j'ai en faite 4 colones une ces le ID la deuxiéme le TITRE le troisiéme le CONTENU et le quatriéme le TIMESTAMP.
                                  Mais dans le formulaire que donne matéo il y a que deux colone le titre et le contenu.
                                  Voila dit moi se que tu en pense et merci de m'aider encore une fois tracker
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    21 novembre 2007 à 21:43:58

                                    Bonsoir tout le monde! je tiens a vous remercier pour votre precieux aide sur ce site formidable. Grâce a vous j'ai pu regler mon probleme: a savoir enregistrer dans une base de donnée. Au fait le probleme venait de mon formulaire où j'avais oublié de preciser le name de pseudo comme l'avais si bien remarqué davinci a qui je tire mon chapeau et aussi merci a tous. Je ne vais pas marquer ce probleme comme resolu car il y'a zeunyton qui a signeler aussi un probleme. Daigne ce site puisse durer encore et encore...
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      21 novembre 2007 à 21:54:48

                                      Citation : cookiiz

                                      ... Au fait le probleme venait de mon formulaire où j'avais oublié de preciser le name de pseudo comme l'avais si bien remarqué davinci a qui je tire mon chapeau et aussi merci a tous. ...



                                      De rien cookiiz ! Bonne continuation dans le codage PHP/MySQL :)
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      French language was not found on this server.
                                        21 novembre 2007 à 21:59:14

                                        Citation : zeunyton

                                        j'ai en faite 4 colones une ces le ID la deuxiéme le TITRE le troisiéme le CONTENU et le quatriéme le TIMESTAMP.
                                        Mais dans le formulaire que donne matéo il y a que deux colone le titre et le contenu.
                                        Voila dit moi se que tu en pense et merci de m'aider encore une fois tracker



                                        Ben rend tu insert cohérent par rapport à ta structure de donnée (ajoute les deux valeurr qui manque entre parenthèse), ou bien si ces deux champs ne sont pas obligatoires, modifie la syntaxe d'insertion:

                                        1. INSERT news (titre, contenu) VALUES('$titre', '$contenu')



                                        Tracker.
                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        Enregistrer dans une BDD

                                        × 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