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

PHP & Base de données Discussion :

Fromulaire pour upload fichier + insertion dans la base de données MySQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2009
    Messages : 31
    Points : 22
    Points
    22
    Par défaut Fromulaire pour upload fichier + insertion dans la base de données MySQL
    J'ai un fomulaire censé
    - uploader un fichier dans un repertoire
    - inserer les infos dans la base de données (chemin vers le fichier uploadé et description du fichier)

    Le code des pages que je founi fait bien l'upload du fichier dans un repertoire mais n'envoie rien dans la base de données. Je ne comprends pas pourquoi !!?
    Merci de m'aider si ca vous parait évident.

    - j'ai une page avec le formulaire (fichier.php)
    - en validant je renvoie vers la page ajout.php
    - ma table dans la base s'appelle "fichier"
    - la table a 2 champs ("file" + " description")

    Voici la page fichier.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <form enctype="multipart/form-data" method="post" action="ajout.php">
     
    <br />
          Image: 
          <input name="file" type="file">
    <br />
    <br />
          Description
     
    <input name="description" type="text">
     
    <br />     
    <br />
          <input type="submit" value="valider">
     
    </form>
    et voici le fameux fichier ajout.php qui cache une erreur que je ne trouve pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php 
    include("connect.php");
    $description=$_POST["description"]; // on recupere la description
    $nom=$_FILES["file"]["name"]; // on recupere le nom de l'image avec son extension
     
        list($name, $ext) = explode(".", $nom);   // on separe le nom de l'image de son extension    
     
      $ext=".".$ext; // on rajoute un . devant l'extention
     
    $chemin = "./repertoire/".$nom; // ici c'est l'endroit ou va etre stocker le chemin de votre texte ou image ou autre  ici c'est dans ==> répertoire.
    move_uploaded_file($HTTP_POST_FILES["file"]["tmp_name"],$chemin); // on envoie le fichier a l'endroit voulu
     
    mysql_query("INSERT INTO fichier (file, description)  VALUES('$nom','$description');"); // et on termine en envoyant les données dans la base mysql
    echo 'Voila tout est la';
    ?>
    Le tout en sachant que le fichier connect.php permet la connection à la base de données et que ce fichier fonctionne correctement.

  2. #2
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Points : 235
    Points
    235
    Par défaut
    en php il y a une fonction qui affiche les erreurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    or die('Erreur SQL !<br>'.mysql_error());
    Je pense que tu à un ; en trop sur ta ligne de query, supprime celui entre ""

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mars 2009
    Messages : 31
    Points : 22
    Points
    22
    Par défaut
    Cool merci Morgan47

    J'ai ajouté le bout de code et ca m'a permis de trouver l'erreur.

    Mon code est bon, simplement dans mon fichier connect.php, je me connectais bien à la base de données mais j'avais oublié d'ajouter la fontion de selection de la base:
    Donc pour ceux que le code intéresse, les 2 exemples donnés avant sont bons.
    Et voici ce que j'utilise dans mon fichier connect.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    # FileName="Connection_php_mysql.htm"
    # Type="MYSQL"
    # HTTP="true"
    $hostname_TEST = "VOSINFOS";
    $database_TEST = "VOSINFOS";
    $username_TEST = "VOSINFOS";
    $password_TEST = "VOSINFOS";
    $WPH2 = mysql_pconnect($hostname_TEST, $username_TEST, $password_TEST) or trigger_error(mysql_error(),E_USER_ERROR); 
    mysql_select_db($database_TEST, $TEST) ;
    ?>
    Avec ces fichiers , j'ai donc pu
    - insérer les infos du formulaire dans la base
    - uploader mon image dans un repertoire
    - donner le chemin d'accès à l'image dans ma base

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/07/2008, 15h00
  2. importer une fichier excel dans une base de donnée MySQL
    Par maverick56 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 29/05/2007, 09h15
  3. Insertion dans la base de donnée MySQL
    Par Carolinev dans le forum Installation
    Réponses: 4
    Dernier message: 01/12/2006, 17h46
  4. Insertion dans une base de donnée MYSQL !
    Par condor_01 dans le forum JDBC
    Réponses: 7
    Dernier message: 01/08/2006, 12h10
  5. Intégration des fichier XML dans une base de données MySQL
    Par bebemoundjou dans le forum XQUERY/SGBD
    Réponses: 8
    Dernier message: 25/11/2005, 22h41

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