Formulaire php et image

mumbly_58 Messages postés 3 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 9 mars 2007 - 8 mars 2007 à 14:34
Rhoulz Messages postés 25 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 30 août 2007 - 12 mars 2007 à 17:39
Bonjour,
J'ai un formulaire .php + MySQL qui permet d'inscrire une application, sa catégorie, son auteur, sa date de sortie, etc. ... bref un peu une sorte de "logithèque".
Mais j'aimerais ajouter un champ "image" qui permettrait d'uploader l'image de l'application et d'intégrer l'enregistrement dans la base MySQL ...
J'ai essayé pas mal de morceau de script "d'upload" d'image sans grande réussite ...
Pourriez-vous me donner une piste ?!!
Merci d'avance !
mumbly

6 réponses

cs_plopinou Messages postés 117 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 13 mai 2009
8 mars 2007 à 17:53
     Salut,

Tu veux uploader l'image dans ta base sql?
Tu veux juste garder les donnée de l'image dans ta base (nom,format, taille, ...) et la stocker l'image non plus dans ta base, mais dans un fichier?   
 
0
mumbly_58 Messages postés 3 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 9 mars 2007
8 mars 2007 à 19:07
plopinou,
Je veux : uploader l'image dans un repertoire et garder les données de l'image dans la base MySQL ...
J'essaie avec un truc de ce style :

        <form method="POST" action="upload.php" enctype="mutlipart/form-data">
       
       

... mais y'a rien qui se passe.
Enfin : en fait, j'ai bien les données qui s'inscrivent dans la base MySQL mais aucun fichier/image n'est uploadé ! :/
0
cs_plopinou Messages postés 117 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 13 mai 2009
8 mars 2007 à 20:52
Vu ce que je vois de ton code c'est normal, nul part tu fais l'upload,

$nom ==> c'est le nom complet de ton image
$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.

$test=move_uploaded_file($HTTP_POST_FILES["file"]["tmp_name"],$chemin); // on envoie le fichier a l'endroit voulu

N'oublie pas de faire un test sur $test pour etre sur qu'il l'ai bien uploader, et alors autre chose, tu dois faire attention au mime type, c'est ce qui va comfirmer que par exemple le document loto.txt sera bien un document texte et non une photo par exemple ;)
   
0
mumbly_58 Messages postés 3 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 9 mars 2007
9 mars 2007 à 07:27
Salut,
Merci mais ... franchement je n'y arrive pas ... :/
C'est peut etre tout mon code qui est à revoir ...

Voici mon fichier index.html :
qu'est-ce qui ne fonctionne pas ?
Que dois-je mettre dans le fichier "upload.php" étant donné que la table dans ma base SQL qui accueillir le nom de l'image s'appelle 'image' et le répertoire qui accueille les images uploadées s'appelle "/image" ?!?
Le fichier add.php fonctionne bien et l'ensemble de ce code m'inscrit convenablement les données dans la table SQL ... D'ailleurs, si j'upload à la main les images dans le répertoire '/image', j'obtiens le bon résultat à l'écran !!!
Merci d'avance mille fois ! :o)))

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<form method="POST" action="add.php">
<head>
  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
  <title>Applications : page d'inscription</title>
</head>

  ----

    Nom de votre application :,
   
    ,
 
  ----

    Version :,
    ,
 
  ----

    Catégorie de votre application :

&nbsp;,
   
   
<select name="categorie_appli">
      <option>Bureautique</option>
      <option>Education</option>
      <option>Graphisme</option>
      <option>Internet</option>
      <option>Jeux</option>
      <option>Multimédia</option>
      <option>P2P</option>
      <option>Programmation</option>
      <option>Science</option>
      <option>Web</option>
      <option>Système</option>
      <option>Utilitaires</option>
</select>,
 
  ----

    Date de sortie :,
   
,
 
  ----

  ----

    Auteur :,
   
    ,
 
  ----

    Licence :

&nbsp;,
   
   
<select name="licence">
      <option>GPL</option>
      <option>LGPL</option>
      <option>GFDL</option>
      <option>Art libre</option>
      <option>C.C. by-sa 2.0</option>
      <option>C.C. by-nc-sa 2.0</option>
      <option>C.C. by-nd 2.0</option>
      <option>C.C. by-nc 2.0</option>
      <option>C.C. by-nc-nd 2.0</option>
      <option>BSD</option>
      <option>Python Licence</option>
      <option>CeCiLL</option>
      <option>Mit Licence</option>
      <option>Mozilla Public License (MPL)</option>
      <option>Autre</option>
</select>,
 
  ----

    Description : (html autoris&eacute;),
   
   
    <textarea rows="12" cols="53" name="description"></textarea>
   

   ,
 

<!-- image -->
   ----

             Image (200 Ko max) :(facultatif)
    ,
            
        <form method="POST" action="upload.php" enctype="mutlipart/form-data">
       
       
       
       

     ,
  

  ----

       
   
    ,
  

  ----

    &nbsp;,
    &nbsp;,
 

  ----

    Voir toutes les applications,
 

</html>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_plopinou Messages postés 117 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 13 mai 2009
9 mars 2007 à 17:40
premiere erreur, tu ouvre 2 <form> que tu ferme jamais

puis si tu n'arrive pas a uploader c'est que ton erreur viens pas de la page index.php mais de la page upload

Donc avec juste ta page index.php on saurai pas trouver l'erreur

   
0
Rhoulz Messages postés 25 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 30 août 2007
12 mars 2007 à 17:39
Moi perso je préfère séparer l'upload du formulaire (quite á le faire dans une fenêtre popup)... Enfin c'est juste un point de vue perso qui n'est certainement pas une rêgle. Ça permet de séparer les problèmes...
Ainsi le champs dédié á ton image est l'url de l'image en question (et plus un chemin)... Avec un lien au côté pour uploader l'image (qui ouvre un popup ou tu aurait ton deuxieme formulaire et donnerait á l'utilisateur l'url a utiliser... Enfin c'est vrai que si tu ne veux pas emmerder tes utilisateurs avec les url/upload c'est mieux de faire comme tu fais. Enfin tout dépend du type d'utilisateurs que tu auras).

Sinon pour continuer dans ton optique j'utiliserais un seul <form>, histoire d'envoyer le tout á une seule page (le add) ou cela analyserait en premier ton image (taille 200ko, formats, etc.) et vérifirait la validité générale du formulaire ensuite uploaderait l'image et ajouterait la nouvelle entrée dans ta BD...
Sinon avec deux forms tu vas te compliquer... enfin je pense

Ensuite bhen oui pour pouvoir t'aider on devrait savoir ce qu'il se passe dans ta page d'upload... Et puis comme c'est a déjà été dit on voit pas bien la structure de tes formulaires... il n'y a pas de </form> et deux <form> ensuite un seul submit...

C'est seulement mon humble avis, qui vaut ce qui vaut, sinon avec tout ce que t'as indiqué plopinou tu devrait pouvoir y arriver et bonne chance pour la suite
0
Rejoignez-nous