Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ajout d'images dans une BDD

Sujet résolu
    23 août 2006 à 15:20:14

    EDITION DU PROBLEME :

    Bonjour,
    J'ai créé un formulaire d'upload. Il est formé de deux parties :
    • la première où l'on upload et donne un titre au fichier
    • La seconde où l'on renseigne sur la date, les méthodes de réalisation de l'ouvre précédemment uploader


    Dans la première partie, si l'upload est une réussite, l'image s'affiche. L'adresse de l'image est contenu dans la variable $creation et je fait un echo si l'upload est un succes.

    Je voudrais transmettre cette variable au second formulaire pour l'ajouter dans la même ligne de champ que les information sur l'oeuvre.
    • Comment transmettre ma variable ?
    • Est t'il préférable de regrouper les deux formulaire (plus besoin de transmission) ?


    Ma variable :
    $creation = "<img src='creations/". $_POST['file_name'] ."". $extention. "' alt='votreimage' />";


    Si vous voulez le formulaire, vous pouvez me le demander mais je préfère ne pas décourager la lecture du sujet avec une centaine de ligne à déchiffrer ^^

    D'avance merci.
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      23 août 2006 à 16:49:49

      Je ne connais pas la réponse à ton probléme, mais pourquoi ne pas tout simplement enregistrer les images uploadés dans un dossier du ftp, comme tout le monde :) ?
      • Partager sur Facebook
      • Partager sur Twitter
        23 août 2006 à 18:02:16

        Salut ami Zéro !
        Je voudrais avoir mes images dans ma base de donné pour pouvoir les classer (par genre, auteur, date, etc.). Ainsi, je les sélectionnes, les tris selon ce que demande l'utilisateur et je fait une boucle aui affiche chaque image avec ses infos! ^^ logique !
        Quelqu'un d'autres à une réponse ??
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          23 août 2006 à 18:47:19

          Une autre solution consiste à uploader l'image dans un dossier, et d'enregistrer en même temps dans une table son adresse, une id, un titre, une description, etc... Ca permet de trier les images de la même façon sans pour autant surcharger ta bdd. Surtout que mettre une image dans une bdd provoque une surcharge de travaille inutil pour le serveur.

          Aprés, c'est à toi de voir :)
          • Partager sur Facebook
          • Partager sur Twitter
            23 août 2006 à 18:52:59

            Coucou !
            Je me suis mal exprimé... Je souhaite en effet insérer l'adresse de mon image dans la BDD mais je n'y arrive pas. J'airrive à récupérer l'adresse comme tu peux le voir :
            <img src="creations/<?php echo $_POST['file_name'].$extention ; ?>" alt="votreimage" />


            L'enregistrement est une autre affaire... :(

            Merci !
            • Partager sur Facebook
            • Partager sur Twitter
              24 août 2006 à 10:58:10

              J'ai réussi avec l'aide de Zeric à mettre l'adresse dans une variable. L'enregistrer ne devrait pas être trop dur...
              Et pourtant je n'arrive toujours à rien. J'ai changer la donne du problême en editant le premier post. Pour ceux qui ont la flemme de relire voici une copie :

              -------------------------------------------------

              EDITION DU PROBLEME :

              Bonjour,
              J'ai créé un formulaire d'upload. Il est formé de deux parties :
              • la première où l'on upload et donne un titre au fichier
              • La seconde où l'on renseigne sur la date, les méthodes de réalisation de l'ouvre précédemment uploader


              Dans la première partie, si l'upload est une réussite, l'image s'affiche. L'adresse de l'image est contenu dans la variable $creation et je fait un echo si l'upload est un succes.

              Je voudrais transmettre cette variable au second formulaire pour l'ajouter dans la même ligne de champ que les information sur l'oeuvre.
              • Comment transmettre ma variable ?
              • Est t'il préférable de regrouper les deux formulaire (plus besoin de transmission) ?


              Ma variable :
              $creation = "<img src='creations/". $_POST['file_name'] ."". $extention. "' alt='votreimage' />";


              Si vous voulez le formulaire, vous pouvez me le demander mais je préfère ne pas décourager la lecture du sujet avec une centaine de ligne à déchiffrer ^^

              D'avance merci.
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                24 août 2006 à 11:40:14

                Tu veux transférés avec $_GET ou $_POST ?
                • Partager sur Facebook
                • Partager sur Twitter
                  24 août 2006 à 11:43:00

                  Pour transmettre ta variable, tu rajoutte un champ caché à ton premier formulaire avec en value, la valeur de ta variable et tu pourras la récupérer plus tard dans ton deuxième formulaire ^^
                  • Partager sur Facebook
                  • Partager sur Twitter
                    24 août 2006 à 11:43:14

                    ou tu peux utiliser des SESSION pour transmettre tes variables.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      24 août 2006 à 11:45:37

                      Citation : Anewa29

                      ou tu peux utiliser des SESSION pour transmettre tes variables.



                      Tu veux créer un session juste pour une variable alors qu'il doit quand meme envoyer on formulaire quoi qu'il arrive :euh:
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        24 août 2006 à 11:48:05

                        Citation : Anewa29

                        ou tu peux utiliser des SESSION pour transmettre tes variables.



                        Utiliser les sessions pour transmettre UNE variable c'est inutile ! ;) Transmettre le valeur dans un champ caché est la meilleure solution comme la dit Ptite Pupuce.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          24 août 2006 à 11:53:01

                          Avec un hidden faut vérifier qu'il a pas été modif, avec une session t'es sur qu'il ne l'a pas été.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            24 août 2006 à 11:55:29

                            moi perso j'aurai utiliser une session et puis de l'ouvrir et de la fermé sa prend pas beaucoup de temps, et comme le dit Dentuk, au moin on est sur quel ne sera pas modifiée.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              24 août 2006 à 12:00:51

                              Bonjour !
                              Je suis pas trop sur mais vous pensez à ça :
                              <input type="hidden" value=$creation/>

                              puis :
                              $creation = $_POST['creation'];
                              • Partager sur Facebook
                              • Partager sur Twitter
                                24 août 2006 à 12:02:50

                                Oui, moi oui en tout cas, mais ça a pas l'air d'être la meilleure solution...

                                En fait ça dépend ce qui est priviliégié, le nombre de ligne de code ou les ressources :p
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  24 août 2006 à 13:01:13

                                  Je m'y met tout de suite ^^

                                  [edit 18h10]

                                  Lequel faut t'il privilégié ? Pourquoi ? Et qui privilège quoi ?
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Anonyme
                                    24 août 2006 à 13:17:06

                                    Citation : Craft

                                    Bonjour !
                                    Je suis pas trop sur mais vous pensez à ça :

                                    <input type="hidden" value=$creation/>


                                    puis :

                                    $creation = $_POST['creation'];


                                    Non, à ça !

                                    echo '<input type="hidden" name="creation" value="' .$creation. '" />';


                                    Puis:
                                    $creation = htmlentities($_POST['creation']);


                                    ;)
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      24 août 2006 à 14:29:14

                                      Bonjour,
                                      J'ai essayé ce qui a été dit mais la case où devrait figurer l'adresse de l'image dans la BDD est vide.
                                      Voici le plan de mon code avec extrait de ce qui vous interesse :
                                      En-tête
                                      --------
                                      Formulaire
                                      --------
                                      Script de l'upload
                                      --------
                                      Script d'ajout de variable dans la BDD
                                      --------
                                      Pied-de-page

                                      Extrait 1 => Début du formulaire (dont le champ chaché)
                                      <form method="post" enctype="multipart/form-data" action=" ajout_creation4.php">

                                      <input type="file" name="fichier" /> <br/>

                                      <?php
                                      echo '<input type="hidden" name="creation" value="' .$creation. '" />';
                                      ?>

                                      Pseudo : <input type="text" name="artiste" size="70" tabindex="20" />  <br />

                                      Extrait 2 => Partie de l'upload concernant la création et l'affichage de LA variable $creation (que je veut enregistrer dans ma BDD)
                                      // On upload le fichier sur le serveur.
                                            if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier))
                                            {
                                              $creation = "<img src='creations/". $_POST['file_name'] ."". $extention. "' alt='votreimage' />";
                                              echo  '<p>' . $creation . '</p>'   ;
                                            }
                                            else
                                            {
                                               echo 'L\'image n\'a pas pu être uploadée sur le serveur.';
                                            }

                                      Extrait 3 => La partie du script concernant la récupération et l'ajout dans la BDD :
                                      $creation = $_POST['creation'];
                                              $artiste = htmlentities ($_POST['artiste']);
                                              $titre = htmlentities ($_POST['titre']);
                                              $methode_realisation = htmlentities ($_POST['methode_realisation']);
                                              $theme = htmlentities ($_POST['theme']);
                                              $commentaire = htmlentities ($_POST['commentaire']);
                                              $date_creation = htmlentities ($_POST['date_creation']);
                                         $date_soumission = time() ;
                                         $confirmation= "1" ;
                                         $date_confirmation= "" ;


                                       // Ensuite on enregistre le message
                                       mysql_query("INSERT INTO dessins VALUES
                                       ('', '$creation', '$artiste', '$titre', '$methode_realisation',
                                       '$theme', '$commentaire', '$date_creation', '$date_soumission', '$confirmation',
                                       '$date_confirmation')"
                                      );

                                       // On se déconnecte de MySQL
                                       mysql_close();


                                      Je crois avoir tout donner pour répondre à la question suivante :
                                      Pourquoi la variable $creation n'est pas ajouté dans le champ de ma BDD ?


                                      D'avance merci :p
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        24 août 2006 à 19:04:00

                                        Salut !
                                        Pourquoi tu n'essayes pas avec le système de sessions ? On viens de te dire que c'était plus fiable pour garentir la valeur d'une variable !

                                        Enfin bon, fais comme tu veux !
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          25 août 2006 à 13:35:55

                                          Salut !
                                          Je veux bien essayer le système des sessions mais pourquoi mon script ne marche t'il pas ?
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            29 août 2006 à 16:02:58

                                            Salut !
                                            Sur un autre forum (et oui vous n'êtes pas les seules à plancher sur ce sujet) on m'a orienté sur d'autres méthodes (sans champ caché) qui n'aboutissent à rien :( . Je up donc au cas où mon sauveur passe sur le forum :p

                                            ++
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              30 août 2006 à 14:02:55

                                              Le problême à été résolu grâce à Fl0r3nt qui a astucieusement remplacé
                                              $creation = "<img src='creations/". $_POST['file_name'] ."". $extention. "' alt='". $_POST['titre'] ."' />";

                                              PAR

                                              $creation = '<img src="creations/'. $_POST['file_name'] . $extention. '" alt="'. $_POST['titre'] .'" />';

                                              Merci à lui
                                              • Partager sur Facebook
                                              • Partager sur Twitter

                                              Ajout d'images 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