IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

afficher le lien vers un document- php/mysql


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    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 : 1
    Points
    1
    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
    Invité
    Invité(e)
    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

  3. #3
    Nouveau Candidat au Club
    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 : 1
    Points
    1
    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 !

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/07/2014, 21h32
  2. Lien vers une documentation de référence ?
    Par sylsau dans le forum C++
    Réponses: 3
    Dernier message: 13/04/2007, 10h47
  3. Réponses: 6
    Dernier message: 09/03/2007, 02h47
  4. lien vers une page php
    Par sousou_ dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 07/08/2006, 20h10
  5. Liens vers de documents
    Par decour dans le forum Access
    Réponses: 2
    Dernier message: 23/01/2006, 10h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo