Partage
  • Partager sur Facebook
  • Partager sur Twitter

Formulaire et base de donnée

    15 août 2018 à 19:38:23

    Bonjour,

    Je développe un site en ce moment et j'avais besoin de votre aide ;)
    Je cherche un solution a un problème, je vous explique

    J'ai un espace membre contenant des informations personnelles, un formulaire d'envoi de fichier et la liste des fichier d'un dossier.
    Voici le code de espace membre ;

    <?php
    session_start();
    
    $bdd = new PDO('mysql:host=localhost;dbname=id5716118_membre', 'id5716118_clement', 'samuelmai');
    
    if(isset($_GET['id']) AND $_GET['id'] > 0) {
       $getid = intval($_GET['id']);
       $requser = $bdd->prepare('SELECT * FROM membres WHERE id = ?');
       $requser->execute(array($getid));
       $userinfo = $requser->fetch();
    ?>
    <html>
       <head>
          <title>Profil</title>
          <meta charset="utf-8">
       </head>
       <body>
          <div align="center">
             <h2>Profil de <?php echo $userinfo['pseudo']; ?></h2>
             <br /><br />
             Pseudo = <?php echo $userinfo['pseudo']; ?>
             <br />
             Mail = <?php echo $userinfo['mail']; ?>
             <br />
             <?php
             if(isset($_SESSION['id']) AND $userinfo['id'] == $_SESSION['id']) {
             ?>
             <br />
             <a href="logout.php">Se déconnecter</a><br />
             <?php
             }
             ?>
             
    <form method="POST" action="uploads.php" enctype="multipart/form-data">
    Fichier : <input type="file" name="son">
    <input type="submit" name="envoyer" value="Envoyer le fichier">
    </form>
    
    <?php
    $nb_fichier = 0;
    echo '<ul>';
    ?>
    
    <?php
    if($dossier = opendir('./upload'))
    {
    ?>
    
    <?php
    while(false !== ($fichier = readdir($dossier)))
    {
    ?>
    
    <?php
    if($fichier != '.' && $fichier != '..' && $fichier != 'index.php')
    {
    ?>
    
    <?php
    $nb_fichier++; // On incrémente le compteur de 1
    echo '<li><a href="./mondossier/' . $fichier . '">' . $fichier . '</a></li>';
    } // On ferme le if (qui permet de ne pas afficher index.php, etc.)
     
    } // On termine la boucle
    ?>
    
    <?php
    echo '</ul><br />';
    echo 'Il y a <strong>' . $nb_fichier .'</strong> fichier(s) dans le dossier';
     
    closedir($dossier);
     
    }
     
    else
         echo 'Le dossier n\' a pas pu être ouvert';
    ?>
    
          </div>
          
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript">
    $(window).load(function() {
    $(".loader").fadeOut("1000");
    })
    </script>
    
          
       </body>
    </html>
    <?php   
    }
    ?>

    Et celui du fichier renvoyer par le formulaire qui s'occupe de la versification du fichier envoyer :

    <?php
    $dossier = 'upload/';
    $fichier = basename($_FILES['son']['name']);
    $taille_maxi = 10000000;
    $taille = filesize($_FILES['son']['tmp_name']);
    $extensions = array('.mp3', '.waw', '.vlc', '.jpeg');
    $extension = strrchr($_FILES['son']['name'], '.');
    //Début des vérifications de sécurité...
    if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
    {
         $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
    }
    if($taille>$taille_maxi)
    {
         $erreur = 'Le fichier est trop gros...';
    }
    if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
    {
         //On formate le nom du fichier ici...
         $fichier = strtr($fichier,
              'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
              'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
         $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
         if(move_uploaded_file($_FILES['son']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
         {
              echo 'Upload effectué avec succès !';
         }
         else //Sinon (la fonction renvoie FALSE).
         {
              echo 'Echec de l\'upload !';
         }
    }
    else
    {
         echo $erreur;
    }
    ?>


    J'aimerai donc que chaque fichier envoyer par un utilisateur dans le dossier upload soit marquer de id de utilisateur et affichés dans un table
    J'aimerai donc par la suite, que les fichier affichés dans la liste de espace membre soit que ce de utilisateur.

    Merci pour votre aide !

    -
    Edité par SamuelMain 15 août 2018 à 19:40:05

    • Partager sur Facebook
    • Partager sur Twitter
      16 août 2018 à 3:15:38

      Bonjour,

      En gros, tu voudrais pouvoir connaître quel utilisateur a envoyé quel fichier ?

      Il va te falloir une table SQL dans laquelle tu auras sensiblement ces champs :

      • ID (auto_increment, unique);
      • ID du membre
      • Nom du fichier

      Au moment où tu appelles la fonction move_uploaded_file(), tu appelles aussi une requête SQL qui va venir insérer une ligne dans cette table avec les informations voulus. Inspire-toi de ton premier fichier pour récupérer les informations sur le membre présentement connecté. Ensuite, tu auras tout ce qu'il faut pour faire ce que tu souhaites faire !

      N'hésite pas si je ne suis pas clair dans mes explications !

      • Partager sur Facebook
      • Partager sur Twitter
        16 août 2018 à 20:18:46

        Luigi_home a écrit:

        Bonjour,

        En gros, tu voudrais pouvoir connaître quel utilisateur a envoyé quel fichier ?

        Il va te falloir une table SQL dans laquelle tu auras sensiblement ces champs :

        • ID (auto_increment, unique);
        • ID du membre
        • Nom du fichier

        Au moment où tu appelles la fonction move_uploaded_file(), tu appelles aussi une requête SQL qui va venir insérer une ligne dans cette table avec les informations voulus. Inspire-toi de ton premier fichier pour récupérer les informations sur le membre présentement connecté. Ensuite, tu auras tout ce qu'il faut pour faire ce que tu souhaites faire !

        N'hésite pas si je ne suis pas clair dans mes explications !


        Merci de ta réponse, j'aimerai par la suite afficher (dans la liste sur la photo avec le teste.mp3) les fichier des utilisateurs en questions. Je m'explique:

        Sur la photo envoyer plus haut, on se trouve sur l'espace membre de l'utilisateur. Je voudrai donc afficher que les fichiers envoyer par cette utilisateur.

        Merci !

        -
        Edité par SamuelMain 16 août 2018 à 20:20:55

        • Partager sur Facebook
        • Partager sur Twitter

        Formulaire et base de donnée

        × 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