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 :

Envoi de fichier formulaire


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Envoi de fichier formulaire
    Bonjour j'ai actuellement programmé une page qui propose un formulaire d'ajout de code source a une bd. Et je souhaite joindre un fichier avec ce formulaire j'ai donc fait appel au champ formulaire de type file et j'ai surtout pensé à placer dans ma balise form ENCTYPE='multipart/form-data'> seulement voila des que je met enctype, mon formulaire ne passe plus dans le if qui lance la requete sql... si je l'enlève du <form> ça marche....

    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
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
     
    <?
     
     
        if($_SESSION['login']==1)
        {
            //Si des variables sont reçues du formulaire
            if(isset($_POST['nom_prog']) && isset($_POST['fichier_prog']))
            {
                if($_POST['nom_prog']=="")
                {
                    echo"<br>Erreur: champ Nom du programme vide";
                }
                elseif($_POST['fichier_prog']=="")
                {
                    echo"<br>Erreur: champ Liens vers Fichier vide";
                }
                else
                {
                    insert_ajout_prog();
                    echo'<br>AJOUT REUSSI !';
                }
                formulaire_ajout_prog();
            }
            else
            {
                formulaire_ajout_prog();
            }
        }
        else
        {
            echo"<center>petit malin !!! dommage<br>";
            echo"<a href='membre.php'>log toi d'abord</a></center>";
        }
     
    function insert_ajout_prog()
    {
     
     
            //format chaine
            $nom=ucfirst(strtolower($_POST['nom_prog']));
            $mot_cle_ok=strtolower(str_replace(" ","",$_POST['mots_prog']));
            //on lance la connexion a la bd
            include"../connexion.php";
            //on selectionne la bd correspondante au module
            mysql_select_db('prog_interne',$connexion);
     
            echo $Requete_Insert="    INSERT INTO `programme` ( `id_programme` , `nom` ,     `auteur` , `date` , `version` , `langage` , `compilateur` , `plateforme` , `log_maj` , `commentaires` , `motscle` , `lien_ftp` , `code_source` )VALUES (
            '',
            '".$nom."',
            '".$_POST['auteur_prog']."',
            '".$_POST['date_prog']."',
            '".$_POST['version_prog']."',
            '".$_POST['langage_prog']."',
            '".$_POST['compilateur_prog']."',
            '".$_POST['plateforme_prog']."',
            'Création fiche programme le ".date("m-d-Y")." (format m-d-Y)',
            '".$_POST['commentaire_prog']."',
            '".$mot_cle_ok."',
            '".$_POST['fichier_prog']."',
            '".$_POST['code_prog']."'
            )";
     
            //$mysql_result=mysql_query($Requete_Insert,$connexion);
    }
     
    function formulaire_ajout_prog()
    {
            //on lance la connexion a la bd
            include"../connexion.php";
            //on selectionne la bd correspondante au module
            mysql_select_db('prog_interne',$connexion);
     
            echo'<br><br><br><center>
            <table width="60%" border="1">';
     
            echo"<form action='membre.php?id=1' method='post' name='ajout_prog' ENCTYPE='multipart/form-data'>";
     
            echo"<tr><td colspan='2' bgcolor='#DDEEFF'>Ajouter un programme</td></tr>";
            //Nom programme
            echo"<tr><td>&nbsp;&nbsp;&nbsp;Nom</td>";
            echo"<td><input type='text' name='nom_prog'></td></tr>";
     
            //Auteur
            //requete SQL
            $auteur="    SELECT nom
                        FROM personnel
                        ORDER BY nom;";
            //On execute la requete
            $mysql_result_auteur = mysql_query($auteur,$connexion);
            echo"<tr><td>&nbsp;&nbsp;&nbsp;Auteur</td>";
            echo"<td><select name='auteur_prog'>";
     
                //On récupère le résultat
                while($auteur_prog = mysql_fetch_row($mysql_result_auteur))
                {
                    echo'<option>'.$auteur_prog[0];
                }
            echo"</select></td></tr>";
     
            //Date
            $today=date("Y-m-d");
            echo"<tr><td>&nbsp;&nbsp;&nbsp;Date de création &nbsp;&nbsp;&nbsp;(AAAA-MM-JJ)</td>";
            echo"<td><input type='text' name='date_prog' value='".$today."'></td></tr>";
     
            //Version
            echo"<tr><td>&nbsp;&nbsp;&nbsp;Version</td>";
            echo"<td><input type='text' name='version_prog' ></td></tr>";        
     
            //Langage
            echo"<tr><td>&nbsp;&nbsp;&nbsp;Langage de programmation</td>";
            //requete SQL
            $langage="    SELECT nom
                        FROM langage
                        ORDER BY nom;";
            //On execute la requete
            $mysql_result_langage = mysql_query($langage,$connexion);
            echo"<td><select name='langage_prog'>";
     
                //On récupère le résultat
                while($langage_prog = mysql_fetch_row($mysql_result_langage))
                {
                    echo'<option>'.$langage_prog[0];
                }
            echo"</select></td></tr>";
     
            //Compilateur
            echo"<tr><td>&nbsp;&nbsp;&nbsp;Compilateur</td>";
            //requete SQL
            $compilateur="    SELECT nom
                            FROM compilateur
                            ORDER BY nom;";
            //On execute la requete
            $mysql_result_compilateur = mysql_query($compilateur,$connexion);
            echo"<td><select name='compilateur_prog'>";
     
                //On récupère le résultat
                while($compilateur_prog = mysql_fetch_row($mysql_result_compilateur))
                {
                    echo'<option>'.$compilateur_prog[0];
                }
            echo"</select></td></tr>";
     
            //Plateforme
            echo"<tr><td>&nbsp;&nbsp;&nbsp;Plateforme</td>";
            //requete SQL
            $plateforme="    SELECT nom
                            FROM plateforme
                            ORDER BY nom;";
            //On execute la requete
            $mysql_result_plateforme = mysql_query($plateforme,$connexion);
            echo"<td><select name='plateforme_prog'>";
     
                //On récupère le résultat
                while($plateforme_prog = mysql_fetch_row($mysql_result_plateforme))
                {
                    echo'<option>'.$plateforme_prog[0];
                }
            echo"</select></td></tr>";
     
            //Liens de DOWNLOAD
            echo"<tr><td>&nbsp;&nbsp;&nbsp;Fichier à rendre disponible</td>";
            echo"<td><input type='file' name='fichier_prog'></td></tr>";
     
            //Mots-cléfs
            echo"<tr><td>&nbsp;&nbsp;&nbsp;Mots-cléfs <br>&nbsp;&nbsp;&nbsp;(séparateur: la virgule)</td>";
            echo"<td><input type='text' name='mots_prog'></td></tr>";
     
            //Commentaire
            echo'<tr><td>&nbsp;&nbsp;&nbsp;Commentaire</td>';
            echo'<td><textarea name="commentaire_prog" cols="45" rows="4" wrap="PHYSICAL"></textarea></td></tr>';
     
            //Code source
            echo"<tr><td colspan='2' bgcolor='#DDEEFF'>&nbsp;&nbsp;&nbsp;Code source</td></tr>";
            echo'<tr><td colspan="2"><center><textarea name="code_prog" cols="68" rows="8" wrap="PHYSICAL"></textarea></td></tr>';
     
            echo'<tr><td colspan="2"><center><input name="envoi_prog" type="submit" /></center></td>';
            echo"</form></table>";
    }
    ?>
    merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    salut,

    aie, encore un code qui fait 3 kms de haut ...
    Sinon, à vue de nez, là je dirais qu'il ne faut pas accéder aux infos du fichier uploadé avec $_POST, mais bien avec $_FILES.

    http://fr2.php.net/manual/fr/features.file-upload.php

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    merci erreur de débutant javias laissé $_Post sur mes test du champ file

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

Discussions similaires

  1. Formulaire d'envoi de fichiers multiples
    Par Alain B. dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 12/02/2007, 09h06
  2. [formulaire]Protection d'un champ d'envoi de fichier
    Par riopelb dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 24/11/2006, 11h09
  3. Formulaire PHP+ envoi de fichier joint
    Par GraphicProvider dans le forum Langage
    Réponses: 2
    Dernier message: 29/10/2005, 18h12
  4. Réponses: 4
    Dernier message: 10/07/2005, 20h53
  5. envoie de fichiers via les formulaires
    Par fabogranqi dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 10/10/2004, 21h34

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