Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité de passage
    Femme Profil pro
    Ressources humaines
    Inscrit en
    décembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : décembre 2012
    Messages : 2
    Points : 0
    Points
    0

    Par défaut afficher le lien vers un document- php/mysql

    Bonjour à tous,

    J'ai créé une page administrateur pour que des personnes puissent télécharger des documents sur mon site et une page ou s'affichent les données de la base sql.
    Tout fonctionne, le titre, la date etc... rentre bien dans ma base sql. J'ai bien le fichier qui s'est téléchargé dans un dossier "upload".
    Par contre, dans ma page où s'affichent les données le lien vers le fichier pdf n'apparaît pas. je pense qu'il doit y avoir un script spécial pour afficher un lien provenant d'une base sql. J'ai aussi dans ma table , dans la colonne "fichier" [BLOB-Oo], comme si le lien n'était pas rentré et pourtant le fichier est bien téléchargé dans le dossier upload... Je n'ai aucun message d'erreur.
    Est-ce que quelqu'un peut m'aider ?

    Je vous remercie d'avance
    Une novice sur ce forum

  2. #2
    Rédacteur/Modérateur
    Avatar de jreaux62
    Homme Profil pro Jérôme Réaux
    Webdesigner
    Inscrit en
    août 2008
    Messages
    5 362
    Détails du profil
    Informations personnelles :
    Nom : Homme Jérôme Réaux
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Arts - Culture

    Informations forums :
    Inscription : août 2008
    Messages : 5 362
    Points : 9 127
    Points
    9 127

    Par défaut

    Bonjour,
    à vue de nez (compte tenu que tu ne nous donnes pas de code...) :
    dans la colonne "fichier" [BLOB-Oo], comme si le lien n'était pas rentré
    1/ la colonne (ou plutôt "champ") doit être de type VARCHAR (pas BLOB)
    2/ Il faut penser à ENREGISTRER le NOM du FICHIER dans ce champ.

    Ceci pourrait t'intéresser : Système de Gestion-Affichage de Nouvelles
    "Si tu suis le chemin qui s'appelle « plus tard », tu arriveras à la place qui s'appelle « jamais »."
    François Camille Prévot (1910-1996), instituteur puis Directeur d'école et... mon grand-père.
    "Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire arrivent aisément."
    Nicolas Boileau-Despréaux (1636-1711).
    Mes tutos DVP
    Gestion-Affichage de Nouvelles
    Affichage en tableau HTML
    Fonctions de redimensionnement d'images

  3. #3
    Invité de passage
    Femme Profil pro
    Ressources humaines
    Inscrit en
    décembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : décembre 2012
    Messages : 2
    Points : 0
    Points
    0

    Par défaut

    Merci Jérôme,

    J'ai regardé le module que tu me proposes, il est complet et complexe, je te remercie pour tout ce travail. Cependant j'étais arrivé presque au bout de ma page administrateur alors si tu peux me dire ce qui cloche dans mon code, ce serait très gentil !

    Nom de la Table : "document"
    colonne
    id : mediumint(8),unsigned,auto-increment, primary key
    date_doc : timestamp, current_timestamp,on update current_timestamp
    rubrique :varchar(255)
    fichier : blob,binary (j'ai essayé avec varchar, le lien vers le fichier ne rentre pas non plus dans la base, mais le fichier se télécharge bien dans mon dossier upload)
    MAX_FILE_SIZE,int(255)

    Code de la page gestion_document.php
    <body>
    <div id="listing">
    </td>
    <td class="contenu">
    <h1>Administration des documents</h1>
    <br /><br />

    <form action="administration.php" method="post" name="doc" id="doc" enctype="multipart/form-data" >
    <table border="0" align="center" cellpadding="3" cellspacing="1">
    <tr>
    <td><strong>Rubrique :</strong></td>
    <td>
    <select name="rubrique" class="form_select" id="rubrique">
    <option value='compte_rendu'>Compte rendu</option>
    <option value='programme'>Programme</option>
    </select>
    </td>
    </tr>
    <tr>
    <td width="80"><strong>Titre :</strong> </td>
    <td><input name="titre" type="text" class="form_champ" id="titre" value="" style="width:300px;" /></td>
    </tr>
    <tr>
    <td width="80"><strong>Fichier :</strong> </td>
    <td><input name="fichier" type="file" class="form_champ" id="fichier" >
    <input type="hidden" name="MAX_FILE_SIZE" value="200000"><!--limitation du fichier à 200 ko-->

    </tr>
    <tr>
    <td><strong> Date :</strong></td>
    <td> <input type="date" name="date_doc" id="date_doc" disabled="true" value=<?php $date=date("d-m-Y");Print("$date");?>></td>




    </tr>

    <tr align="center">
    <td colspan="2"><input name="submit" type="submit" class="form_bouton" id="submit" value="Valider" />
    &nbsp;&nbsp;&nbsp;
    <input name="cancel" type="button" class="form_bouton" id="cancel" value="Annuler" onclick="javascript:window.location.href='gestion_document.php';" /></td>
    </tr>
    </table>
    </form>
    </td>
    </tr>
    </table>
    </div>

    </body>

    code de la page administration.php
    <?php
    $dossier = 'upload/';
    $fichier = basename($_FILES['fichier']['name']);
    $taille_maxi = 200000;
    $taille = filesize($_FILES['fichier']['tmp_name']);
    $extensions = array('.pdf');
    $extension = strrchr($_FILES['fichier']['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 télécharger un fichier de type pdf';
    }
    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['fichier']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
    {
    echo 'téléchargement effectué avec succès !';
    }
    else //Sinon (la fonction renvoie FALSE).
    {
    echo 'Echec de du téléchargement !';
    }
    }
    else
    {
    echo $erreur;
    }
    ?>


    <?php

    include ("config.php");

    $req=$bdd->prepare('INSERT INTO document(rubrique,titre,fichier,MAX_FILE_SIZE) VALUES(?,?,?,?)');


    $req->execute(array(
    mysql_real_escape_string(strtoupper(($_POST['rubrique']))),
    mysql_real_escape_string($_POST['titre']),
    mysql_real_escape_string($_POST['fichier']),
    mysql_real_escape_string($_POST['MAX_FILE_SIZE'])));

    header('Location:gestion_document.php');


    ?>

    code de la page CR.php (où s'affichent les données)
    <div id="listing">
    <h3>Compte rendu</h3>

    <?php
    include ("config.php");


    $req = $bdd->query('SELECT rubrique,titre,fichier,DATE_FORMAT(date_doc,\'%d/%m/%Y\') AS date_doc_fr FROM document ORDER BY date_doc DESC');

    while ($donnees = $req->fetch())
    {
    ?>

    <strong> Date : </strong>
    <?php echo $donnees['date_doc_fr'];?><br/>
    <strong>Rubrique : </strong>
    <?php echo htmlspecialchars($donnees['rubrique']);?>&nbsp;&nbsp;&nbsp;&nbsp;
    <strong>Titre : </strong>
    <?php echo htmlspecialchars($donnees['titre']);?><br/>
    <strong> Fichier : </strong>
    <?php echo htmlspecialchars($donnees['fichier']);?>&nbsp;&nbsp;&nbsp;&nbsp;

    <br/><hr />

    <?php
    }


    ?>
    </div>

    Donc toutes les données s'affichent sauf le lien vers le fichier acrobat qui est dans le dossier "upload" et qui est rentré dans la base dans la colonne "fichier"

    Si tu trouves où ça cloche, ce serait génial !
    JKe te souhaite de joyeuses fêtes de fin d'année et merci déjà de m'avoir répondu !

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •