Partage
  • Partager sur Facebook
  • Partager sur Twitter

uplaod image

Sujet résolu
    16 octobre 2018 à 16:10:24

    Bonjour à tous !

    J'ai crée une base de donnée avec des articles (titre, contenu & image).

    J’essaie de modifier l'image ou d'en rajouter une via le formulaire, j'arrive a récup le nom du fichier, l'enregistrer vers la base de donnée, l'afficher dans la vue mais l'image en elle-même ne s'affiche pas, j'ai uniquement le nom (image.jpg).

    Se qui est normal pour le moment car ça ne va pas dans le bon dossier (ça atterit dans le dossier racine "ADMIN" au lieu de "ADMIN" > "UPLAOD" & je me doute que le chemin est à changer mais je vois pas pourquoi il n'est pas correct... Du coup merci à tout personne qui prendront le temps !

    PS: Je suis novice :euh:

    MON FORMULAIRE :

    <main id="modifActualite">
    <h3>Modification d'article</h3>
      <form method="POST" action="update.class.php" enctype="multipart/form-data">
        <fieldset>
          <legend>Modifier</legend>
          <div>
            <label for="titre">Titre: </label>
            <input type="text" id="titre" name="titre" value="<?= $article['titre']?>">
          </div>
          <div>
            <label for="contenu">Article: </label>
            <textarea name="contenu" rows="5"><?= $article['contenu']?></textarea>
          </div>
    
          <div>
            <label for="photo">Photo: </label>
            <input type="file" id="photo" name="photo">
          </div>
    
          <input type="hidden" name="id_article" value="<?=$_GET['id'] ?>">
          <button type="submit">Ajouter</button>
          <button type="reset">Annuler</button>
        </fieldset>
      </form>
    </main>


    MA REQUETE SQL + MOVE UPLAODED FILE :

    <?php
    
    include '../../BDD/pdo.php';
    
    $uplaod = '../uplaod'; //Chemin pour le dossier image uplaod
    var_dump(is_dir($uplaod)); //Vérif le dossier true/false
    
    var_dump($_POST);
    var_dump($_FILES);
    
    $photo = $_FILES['photo']['name'];
    
    //MOVE UPLAOD IMG
    move_uploaded_file($_FILES['photo']['tmp_name'], 'uplaod');
    
    //REQUETE MISE A JOUR DE L'ARTICLE
      $queryMiseAJour = $pdo -> prepare ('
        UPDATE actualite
        SET id_article = ?, titre = ?, contenu = ?, photo = ?
        WHERE id_article = ?');
      $queryMiseAJour -> execute([$_POST['id_article'], $_POST['titre'], $_POST['contenu'], $photo, $_POST['id_article']]);
    
    //Redirect vers l'interface: modif actualite
    //header('Location: adminActualite.class.php');
    exit();



    -
    Edité par NathCode 16 octobre 2018 à 16:30:29

    • Partager sur Facebook
    • Partager sur Twitter
      16 octobre 2018 à 16:28:15

      Bonjour,

      Tu veux dire quoi par " Par contre mon image ne se déplace pas non plus vers le bon dossier" ?

      Elle se déplace vers quel dossier ?

      • Partager sur Facebook
      • Partager sur Twitter
        16 octobre 2018 à 16:30:02

        philodick a écrit:

        Bonjour,

        Tu veux dire quoi par " Par contre mon image ne se déplace pas non plus vers le bon dossier" ?

        Elle se déplace vers quel dossier ?


        Hello, merci d'avoir répondu.

        Dans le dossier racine "admin" au lieu de "admin" > "uplaod"

        • Partager sur Facebook
        • Partager sur Twitter
          16 octobre 2018 à 16:32:08

          Bonjour, à la ligne 14 il semble y avoir un problème de quote, les erreur php sont-elles biens activé?

          edit:
          ça semble avoir été modifié. Le dossier upload existe t'il déjà? php a t'il les droits dessus? (et toujours pense à activer les erreurs php si ce n'est pas fait) 

          -
          Edité par coolswing 16 octobre 2018 à 16:34:09

          • Partager sur Facebook
          • Partager sur Twitter
            16 octobre 2018 à 16:37:40

            Regarde bien la doc, le second paramètre de move_uploaded_file n'est pas un répertoire mais un fichier (le nom du fichier à créer sur le serveur).
            • Partager sur Facebook
            • Partager sur Twitter
              16 octobre 2018 à 16:40:51

              coolswing a écrit:

              Bonjour, à la ligne 14 il semble y avoir un problème de quote, les erreur php sont-elles biens activé?

              edit:
              ça semble avoir été modifié. Le dossier upload existe t'il déjà? php a t'il les droits dessus? (et toujours pense à activer les erreurs php si ce n'est pas fait) 

              -
              Edité par coolswing il y a 2 minutes


              Bonjour,

              J'ai effectivement modifier mon code.

              Le dossier uplaod existe déjà. Comment ça PHP a droits dessus ? Et effectivement je n'ai pas encore mit en place mes erreurs PHP, je pensais les mettre après avoir réussit à mettre les images dans le bon dossier :euh:

              <?php
              
              include '../../BDD/pdo.php';
              
              $uplaod = '../uplaod'; //Chemin pour le dossier image uplaod
              var_dump(is_dir($uplaod)); //Vérif le dossier true/false
              
              var_dump($_POST);
              var_dump($_FILES);
              
              $photo = $_FILES['photo']['name'];
              
              //MOVE UPLAOD IMG
              move_uploaded_file($_FILES['photo']['tmp_name'], $uplaod.$photo);
              
              //REQUETE MISE A JOUR DE L'ARTICLE
                $queryMiseAJour = $pdo -> prepare ('
                  UPDATE actualite
                  SET id_article = ?, titre = ?, contenu = ?, photo = ?
                  WHERE id_article = ?');
                $queryMiseAJour -> execute([$_POST['id_article'], $_POST['titre'], $_POST['contenu'], $photo, $_POST['id_article']]);
              
              //Redirect vers l'interface: modif actualite
              //header('Location: adminActualite.class.php');
              exit();
              



              • Partager sur Facebook
              • Partager sur Twitter
                16 octobre 2018 à 16:51:18

                Il y a du progrès mais tu devrais prendre l'habitude d'afficher tes variables pour débugger.

                Ajoute "echo $uplaod.$photo;" ligne 12, tu verras que ton chemin n'est pas bon.

                • Partager sur Facebook
                • Partager sur Twitter
                  17 octobre 2018 à 13:59:03

                  philodick a écrit:

                  Il y a du progrès mais tu devrais prendre l'habitude d'afficher tes variables pour débugger.

                  Ajoute "echo $uplaod.$photo;" ligne 12, tu verras que ton chemin n'est pas bon.

                  Merci de votre aide à tous, j'ai reussit :D

                  • Partager sur Facebook
                  • Partager sur Twitter

                  uplaod image

                  × 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