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 :

Formulaire d'insertion+upload d'image [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Octobre 2006
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 73
    Par défaut Formulaire d'insertion+upload d'image
    bonjour j'ai un formulaire pour insrer des enregistrements dans une table + le chargement d'une image dans un dossier
    Code html : 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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <form action="insertion+upload.php" method="post">
    si vous voulez ajouter un équipement remplir les champs suivant puis valider
    <p>DEVICE_ID<INPUT NAME="DEVICE_ID" value="" SIZE=50 MAXLENGTH=100></p>
    <p>TOOL_DESCRIPTION<INPUT NAME="TOOL_DESCRIPTION" value="" SIZE=50 MAXLENGTH=100></p>
    <P>TOOL_AREA<SELECT size=1 name=TOOL_AREA>
    <OPTION selected>Select</OPTION>
      <OPTION>FE</OPTION>
      <OPTION>BE</OPTION>
      </SELECT></P>
      <P>TOOL_LOCATION<SELECT size=1 name=TOOL_LOCATION>
    <OPTION selected>Select</OPTION>
      <OPTION>ASSEMBLY_P&amp;P</OPTION>
      <OPTION>GRIND_DICE</OPTION>
       <OPTION>LAB</OPTION>
      <OPTION>PLATING_BGA</OPTION>
       <OPTION>TEST</OPTION>
      <OPTION>BOND</OPTION>
       <OPTION>LITHO</OPTION>
      <OPTION>SPUTTER_ETCHER</OPTION>
      </SELECT></P>
      <P>TOOL_SUBLOCATION<SELECT size=1 name=TOOL_SUBLOCATION>
    <OPTION selected>Select</OPTION>
      <OPTION>ASSEMBLY</OPTION>
      <OPTION>P&amp;P</OPTION>
      <OPTION>TOOLING&amp;CONTROL_EQUIPMENT</OPTION>
      <OPTION>GRIND</OPTION>
      <OPTION>DICE</OPTION>
      <OPTION>LAB</OPTION>
      <OPTION>PLATING</OPTION>
      <OPTION>BGA</OPTION>
      <OPTION>AUTOTESTER</OPTION>
      <OPTION>CONTROL.EQUIPMENT.TEST</OPTION>
      <OPTION>MANUEL.TESTER</OPTION>
      <OPTION>TRIOPTICS</OPTION>
      <OPTION>BOND</OPTION>
      <OPTION>LITHO_1</OPTION>
      <OPTION>LITHO_2</OPTION>
      <OPTION>LITHO_3</OPTION>
      <OPTION>ETCH</OPTION>
      <OPTION>LASER</OPTION>
      <OPTION>SPUTTER</OPTION>
     
      </SELECT></P>
    <p>SERIAL_NUMBER <INPUT NAME="SERIAL_NUMBER" value="" SIZE=50 MAXLENGTH=100></p>
    <p>BRAND<INPUT NAME="BRAND" value="" SIZE=50 MAXLENGTH=100></p>
    <p>RECEPTION_DATE<INPUT NAME="RECEPTION_DATE" value="" SIZE=50 MAXLENGTH=100></p>
    <p>BUY_OFF_DATE<INPUT NAME="BUY_OFF_DATE" value="" SIZE=50 MAXLENGTH=100></p>
    <p>PROJECT_NUMBER<INPUT NAME="PROJECT_NUMBER" value="" SIZE= 50MAXLENGTH=100></p>
    <p>MODEL <INPUT NAME="MODEL" value="" SIZE=50 MAXLENGTH=100></p>
    <p>VOLTAGE<INPUT NAME="VOLTAGE" value="" SIZE=50 MAXLENGTH=100></p>
    <p>AMPERAGE<INPUT NAME="AMPERAGE" value="" SIZE=50 MAXLENGTH=100></p>
    <p>POWER<INPUT NAME="POWER" value="" SIZE=50 MAXLENGTH=100></p>
     
     
     
         <!-- On limite le fichier à 10000Ko -->
         <input type="hidden" name="MAX_FILE_SIZE" value="1000000">
         IMAGE : <input type="file" name="IMAGE">
     
    <P><INPUT type="submit" value="valider" name="ok"><INPUT type="reset" value="Annuler"></P>
    </form>

    et une page php qui permet d'inser ces enregistrements et uploader l'image
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    <?php
    // Connection au serveur mySQL
    $sql_serveur = "localhost"; // Serveur mySQL
    $sql_base = "nmdb"; // Base de donnees mySQL
    $sql_login = "root"; // Login de connection a mySQL
    $sql_password = ""; // Mot de passe pour mySQL
    $nom_fichier = ""; // Nom de votre page
    @mysql_connect($sql_serveur, $sql_login, $sql_password) or die("Connection interrompue");
    @mysql_select_db($sql_base);
     
    if(isset($_POST['DEVICE_ID'])) $DEVICE_ID=$_POST['DEVICE_ID'];
    else $DEVICE_ID="";
     
    if(isset($_POST['TOOL_DESCRIPTION'])) $TOOL_DESCRIPTION=$_POST['TOOL_DESCRIPTION'];
    else $TOOL_DESCRIPTION="";
     
    if(isset($_POST['TOOL_AREA'])) $TOOL_AREA=$_POST['TOOL_AREA'];
    else $TOOL_AREA="";
     
    if(isset($_POST['TOOL_LOCATION'])) $TOOL_LOCATION=$_POST['TOOL_LOCATION'];
    else $TOOL_SUBLOCATION="";
     
    if(isset($_POST['TOOL_SUBLOCATION'])) $TOOL_SUBLOCATION=$_POST['TOOL_SUBLOCATION'];
    else $TOOL_SUBLOCATION="";
     
    if(isset($_POST['SERIAL_NUMBER'])) $SERIAL_NUMBER=$_POST['SERIAL_NUMBER'];
    else $SERIAL_NUMBER="";
    if(isset($_POST['BRAND'])) $BRAND=$_POST['BRAND'];
    else $BRAND="";
     
    if(isset($_POST['RECEPTION_DATE'])) $RECEPTION_DATE=$_POST['RECEPTION_DATE'];
    else $RECEPTION_DATE="";
     
    if(isset($_POST['BUY_OFF_DATE'])) $BUY_OFF_DATE=$_POST['BUY_OFF_DATE'];
    else $BUY_OFF_DATE="";
     
    if(isset($_POST['PROJECT_NUMBER'])) $PROJECT_NUMBER=$_POST['PROJECT_NUMBER'];
    else $PROJECT_NUMBER="";
     
    if(isset($_POST['MODEL'])) $MODEL=$_POST['MODEL'];
    else $MODEL="";
    if(isset($_POST['VOLTAGE'])) $VOLTAGE=$_POST['VOLTAGE'];
    else $VOLTAGE="";
     
    if(isset($_POST['AMPERAGE'])) $AMPERAGE=$_POST['AMPERAGE'];
    else $AMPERAGE="";
     
    if(isset($_POST['POWER'])) $POWER=$_POST['POWER'];
    else $POWER="";
     
    if(isset($_POST['IMAGE'])) $IMAGE=$_POST['IMAGE'];
    else $IMAGE="";
     
            $sql = "INSERT INTO equipements(DEVICE_ID,TOOL_DESCRIPTION,TOOL_AREA,TOOL_LOCATION,TOOL_SUBLOCATION,SERIAL_NUMBER,BRAND,RECEPTION_DATE,BUY_OFF_DATE,PROJECT_NUMBER,MODEL,VOLTAGE,AMPERAGE,POWER,image)
             VALUES('$DEVICE_ID','$TOOL_DESCRIPTION','$TOOL_AREA','$TOOL_LOCATION','$TOOL_SUBLOCATION','$SERIAL_NUMBER','$BRAND','$RECEPTION_DATE','$BUY_OFF_DATE','$PROJECT_NUMBER','$MODEL','$VOLTAGE','$AMPERAGE','$POWER','$image') ";
     
            mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
            echo"vos informations sont ajoutes";
    $dossier = './imagese/';
    $fichier = basename($_FILES['IMAGE']['name']);
    $taille_maxi = 1000000;
    $taille = filesize($_FILES['IMAGE']['tmp_name']);
    $extensions = array('.png', '.gif', '.jpg','.jpeg', '.bmp');
    $extension = strrchr($_FILES['IMAGE']['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 ou bmp...';
    }
    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['IMAGE']['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;
    }
    ?>
    quand je valide il m'affiche l'erreur suivante
    Notice: Undefined variable: image in C:\Program Files\EasyPHP-5.3.8.0\www\Nouveau dossier\insertion+upload.php on line 56
    vos informations sont ajoutes
    Notice: Undefined index: IMAGE in C:\Program Files\EasyPHP-5.3.8.0\www\Nouveau dossier\insertion+upload.php on line 61

    Notice: Undefined index: IMAGE in C:\Program Files\EasyPHP-5.3.8.0\www\Nouveau dossier\insertion+upload.php on line 63

    Notice: Undefined index: IMAGE in C:\Program Files\EasyPHP-5.3.8.0\www\Nouveau dossier\insertion+upload.php on line 65
    Vous devez uploader un fichier de type png, gif, jpg, jpeg ou bmp...
    il insert les informations mais il ne charge pas l'image

  2. #2
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    commence par résoudre les avertissements sur la variable "image": ça doit expliquer que ton image se perde.

  3. #3
    Membre actif
    Inscrit en
    Octobre 2006
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 73
    Par défaut auteur
    j'ai résoluele probléme du champs insertion image mais toujour pas de chargement d'image
    vos informations sont ajoutes
    Notice: Undefined index: IMAGE in C:\Program Files\EasyPHP-5.3.8.0\www\Nouveau dossier\insertion+upload.php on line 58

    Notice: Undefined index: IMAGE in C:\Program Files\EasyPHP-5.3.8.0\www\Nouveau dossier\insertion+upload.php on line 60

    Notice: Undefined index: IMAGE in C:\Program Files\EasyPHP-5.3.8.0\www\Nouveau dossier\insertion+upload.php on line 62
    Vous devez uploader un fichier de type png, gif, jpg, jpeg ou bmp...

  4. #4
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    commence par résoudre les avertissements sur la variable $_FILES et en particulier sur la clé 'IMAGE' : ça doit expliquer que ton image se perde.

    mais ou as tu péché cette clé ? montre moi sur le manuel ...

  5. #5
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    il manque l'attribut ci dessous dans la balise form.

    enctype="multipart/form-data"

  6. #6
    Membre actif
    Inscrit en
    Octobre 2006
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 73
    Par défaut auteur
    c'est résolue merci gene69 ca manque enctype="multipart/form-data"

    maintenant j'ai un champ image dans ma table ou je doit inserer juste le nom de l'image comment je peut récuperer juste le nom par ex
    F:\projet NEMOTEK\image44.jpg

    je veux juste récuperer
    image44.jpg
    et l'inder dns la table

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/03/2007, 19h02
  2. uploader une image dans un autre formulaire
    Par jonathan.ohayon dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 03/05/2006, 23h04
  3. [MySQL] Formulaire avec insertion d'images
    Par pod1978 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 31/01/2006, 09h50
  4. Formulaire et insertion d'image
    Par cadomalo dans le forum Access
    Réponses: 5
    Dernier message: 10/01/2006, 10h40
  5. Uploader une image à partir d'un formulaire ?
    Par netwebzone dans le forum Langage
    Réponses: 2
    Dernier message: 28/11/2005, 09h27

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