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 :

Upload de fichier en php


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 110
    Par défaut Upload de fichier en php
    Bonjour,

    Voila j'essaie de comprendre l'upload de fichier en php mais j'ai beau lire pas mal de tuto impossible de la mettre en oeuvre , pourtant j'ai utilisé un upload trés basique ...

    index.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <html>
    <body>
     
    <form action="auth.php" method="post" enctype="multipart/form-data">
    Pseudo <input type="text" name="pseudo"><br />
    Password <input type="password" name="pass"><br />
    Chanson <input type="file" name="chanson"><br />
    <input type="submit" value="valider"></ br>
    </form>
     
    </body>
    </html>
    auth.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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?php
    if ( isset($_FILES['chanson']) && isset($_FILES['pseudo']) && isset($_FILES['pass']) )
    {
     
    		$dossier = '/test/';
    		$fichier = basename($_FILES['chanson']['name']);
    		if(move_uploaded_file($_FILES['chanson']['tmp_name'], $dossier . $fichier)) 
        		{
     
     
    			$serveur="sql.free.fr";
    			$user="xxxxxxx";
    			$passw="xxxxxx";
     
    			mysql_connect($serveur,$user,$passw);
    			mysql_select_db($user);
     
    			$pseudo=htmlentities(mysql_real_escape_string($_POST['pseudo']));	
    			$pass=htmlentities(mysql_real_escape_string($_POST['pass']));
    			$chanson=htmlentities(mysql_real_escape_string($_POST['chanson']));	
     
    			mysql_query("INSERT INTO membre (pseudo,pass,email) VALUES ('$pseudo','$pass')");
    			mysql_query("INSERT INTO chanson_membre (chanson) VALUES ('$chanson')");	
    			mysql_close();
    		}
     
    }
    ?>
    Voila impossible de trouver l'erreur ...

    Merci à vous

  2. #2
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Hello

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $dossier = '/test/';
    T'as vraiment un dossier test à la racine de ton serveur ?
    Et si tu remplaçait par ./test ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 110
    Par défaut
    J'ai essayé mais en réalité il y a un probléme qui se pose :

    Le fait que je mette dans le form enctype="multipart/form-data" m'empeche d'enregistrer dans ma BDD les informations donc le seul moyen c'est de l'enlever mais si je l'enléve je ne peux plus uploader ...

    Comment faire ?

  4. #4
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Le fait que je mette dans le form enctype="multipart/form-data" m'empeche d'enregistrer dans ma BDD


    Tiens pendant que j'y pense $_POST['chanson'] ce serait pas $_FILES['chanson']['name'] plutôt ?

  5. #5
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    Le pseudo et le mot de passe sont placés dans le tableaux $_POST.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( isset($_FILES['chanson']) && isset($_POST['pseudo']) && isset($_POST['pass']) )
    Citation Envoyé par Benjamin Delespierre
    $_POST['chanson'] ce serait pas $_FILES['chanson']['name'] plutôt ?
    Oui bien vu. Ce qui donne...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chanson=htmlentities(mysql_real_escape_string($fichier));
    au lieu de...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chanson=htmlentities(mysql_real_escape_string($_POST['chanson']));

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 110
    Par défaut
    Bonjour,

    Voila j'ai modifié mes erreurs mais je retrouve néanmoins toujours le même problème :

    • Aucun enregistrement dans la BDD
    • Aucun fichier uploadé


    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
    <html>
     
    <body>
     
    <form action="auth.php" method="post" enctype="multipart/form-data">
     
    Pseudo <input type="text" name="pseudo"><br />
    Password <input type="password" name="pass"><br />
    email<input type="text" name="email"><br />
    fiche <input type="file" name="fiche1"><br />
    <input type="submit" value="valider"></ br>
    </form>
     
    </body>
    </html>

    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
    <?php
    if ( isset($_FILE['fiche1']) && isset($_POST['pseudo']) && isset($_POST['pass']) &&  isset($_POST['email']))
    {
     
     	$dossier = './test13/';
    	$fichier = basename($_FILES['fiche1']['name']);
    	move_uploaded_file($_FILES['fiche1']['tmp_name'], $dossier . $fichier);
     
    	$serveur="sql.free.fr";
    	$user="xxxxxxx";
    	$passwd="xxxxxxxxxx";
     
    	mysql_connect($serveur,$user,$passwd);
    	mysql_select_db($user);
     
    	$pseudo=htmlentities(mysql_real_escape_string($_POST['pseudo']));
    	$email=htmlentities(mysql_real_escape_string($_POST['email']));	
    	$pass=htmlentities(mysql_real_escape_string($_POST['pass']));
    	$fiche1=htmlentities(mysql_real_escape_string($fichier));	
     
    	mysql_query("INSERT INTO membre (id,pseudo,pass,email) VALUES ('','$pseudo','$pass','$email')");
    	mysql_query("INSERT INTO fiche_membre (id,fiche1) VALUES ('','$fiche1')");	
    	mysql_close();
     
     
    }
    ?>
    Merci à vous

Discussions similaires

  1. [Upload] Upload de fichier réception PHP coté serveur
    Par Watier_53 dans le forum Langage
    Réponses: 4
    Dernier message: 10/03/2008, 10h53
  2. [Upload] upload un fichier en php
    Par isselmoumg dans le forum Langage
    Réponses: 2
    Dernier message: 03/03/2008, 15h52
  3. Upload de Fichier pour PHP processing
    Par lekunfry dans le forum Flex
    Réponses: 1
    Dernier message: 05/12/2007, 11h52
  4. [FTP] upload de fichiers via PHP
    Par r-zo dans le forum Langage
    Réponses: 7
    Dernier message: 02/01/2006, 15h29

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