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 :

script telechargement de fichier


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 68
    Par défaut script telechargement de fichier
    Bonjour a vous !
    Alors que je vous explique mon cas : je suis en train de faire un back office qui me permettra d'ajouter des images a une rubrique. J'ai donc creer deux pages : une pour creer une nouvelle rubrique(celle la est ok) et une autre pour rajouter les images a cette rubrique (c'est la mon pb)!!

    Je n'ai pas d'erreur d'affichage mais quand je rempli mon formulaire celui-ci ne me rentre pas de donnée dans ma base de donnée comme prevu!!
    Je vous donne mon script pour que vous puissiez voir de plus prés :

    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
     
    <form action="add2.php" method="post" enctype="multipart/form-data">
    <span class="sousTitre">ETAPE 2 : Ajoutez les images de vos réalisations</span><br/>
    <br/>
    <!-- Image1 -->
    <input name="img1" value="img1" type="hidden" />
    <input name="image" type="file"/><br/>
    <br/>
    <br/>
    <input type="submit" name="NewImage" value="Ajoutez"/>
    </form>
    <?php
    $target     = 'images/';  // Repertoire cible
    $extension  = 'jpg';      // Extension du fichier sans le .
    $max_size   = 100000;     // Taille max en octets du fichier
    //
    // -------IMAGE1------//
    //
    if(!empty($_POST['img1'])) {
        // On vérifie si le champ est rempli
        if(!empty($_FILES['fichier']['name'])) {
    	  $nom_file = $_FILES['fichier']['name'];
    	  $taille = $_FILES['fichier']['size'];
    	  $tmp = $_FILES['fichier']['tmp_name'];
          // On vérifie l'extension du fichier
          if(substr($nom_file, -3) == $extension) {
    	  // On vérifie les dimensions et taille de l'image
             if($_FILES['fichier']['size'] <= $max_size) {
    		 // Si c'est OK, on teste l'upload
                if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$_FILES['fichier']['name'])) {
    		 // Si upload OK alors on affiche le message de réussite
             echo '<b>'. $_FILES['fichier']['name'].' uploadée avec succès !</b>';
    		//Recheche de lid_camp max
    		mysql_select_db($database_Q2base, $Q2base);
    		$requete='SELECT MAX(id_camp) AS id_max FROM campagne GROUP BY id_max';
    		$selectMax = mysql_query($requete, $Q2base) or die(mysql_error());
    		$result = mysql_num_rows($selectMax);
    		$id_max=mysql_fetch_assoc($result);
    		// Ajout du champs dans la BD
    		$sql="INSERT INTO image(id,filename,id_camp) VALUES('','".$nom_file."','".$id_max['id_max']."')";
    		$insertionImage = mysql_query($sql, $Q2base) or die(mysql_error());
    		    }
    		 }
    	  }
    	}
    	}
    if(!empty($_POST['NewImage'])){
    echo "l'image a bien été téléchargé";
    }
    ?>
    je suis pas trop caler sur les script de téléchargement de fichiers donc je suis preneuse de tout conseil et de tte remarque!!

    Et si qqun a une solution à mon probleme ca serai parfait!!!!

    Merci d'avance

    Clem

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    place un echo "toto"; dans ton script et fait le descendre progressivement pour voir a quelle ligne ton traitement s'arrete.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    essaye avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		$sql="INSERT INTO image (filename,id_camp) VALUES('".$nom_file."','".$id_max["id_max"]."')";
    Ou alors, je n'ai pas compris le fonctionnement !

    - Quelle est la structure de la table ?
    - comment se déroulent les 2 étapes ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 68
    Par défaut
    en fait, j'ai deux tables :

    une table --> campagne
    - id_camp ( auto increment car clé primaire)
    - intitule

    et 1 autre table -->images
    - id_img
    - filename
    - id_campagne (correspond au numero de la campagnea laquelle apartient l'image)

    et quand j'ajoute une image , jai deja ajouter lintitulé de la campagne auparavant donc pour inserer une image je recupere le "filename" grace au script upload et "id_campagne" en allant chercher dans lautre table le plus grand id_camp (correspondant a la campagne que j'ai ajouter auparavant)!!

    Gspr que c'est assez clair...

    J'essaie ta modif et jvous tiens au jus!!

    En tout cas merci pour vos reponse c sympa!!

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 68
    Par défaut
    bon deja j'ai rectifier une petite erreur qui ne change rien mai bon c'est une erreur quand meme :

    j'avais mis id au lieu de id_img
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql="INSERT INTO image (id_img,filename,id_camp) VALUES('','".$nom_file."','".$id_max["id_max"]."')";
    Malgrés tout ca ne marche pas toujours le ,meme souci rien ne rentre dans ma BD et pareil en autan le champ id de la requete...

    j'essaie avec le echo et je vous tiens au jus!!


  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 68
    Par défaut
    Coucou tout le monde désolé pour le temps que j'ai mis a répondre mais j'ai laisser mon projet en stand by pendant quelques temps (on a bien le droit a un peu de vacances!!!). Bon revenons à nos moutons :

    J'ai mis un echo "toto", comme conseillé pour voir ou est-ce mon script ne fonctionner plus. Et je me suis apercu qu'iol ne marchait plus lorsque je disai au script de faire l'upload :

    un petit rappel :
    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
     
    <!-- Image1 -->
    <input name="img1" value="img1" type="hidden" />
    <input name="image" type="file"/><br/>
    <br/>
    <br/>
    <input type="submit" name="NewImage" value="Ajoutez"/>
    </form>
    <?php
    $target     = 'images/';  // Repertoire cible
    $extension  = 'jpg';      // Extension du fichier sans le .
    $max_size   = 100000;     // Taille max en octets du fichier
    //  DEFINITION DES VARIABLES LIEES AU FICHIER
    if(!empty($_POST['img1'])) {
        // On vérifie si le champ est rempli
        if(!empty($_FILES['fichier']['name'])) {
        //
        // JAI PLACER MON ECHO ICI
        //
    	  $nom_file = $_FILES['fichier']['name'];
    	  $taille = $_FILES['fichier']['size'];
    	  $tmp = $_FILES['fichier']['tmp_name'];
          // On vérifie l'extension du fichier
          if(substr($nom_file, -3) == $extension) {
    	  // On vérifie les dimensions et taille de l'image
             if($_FILES['fichier']['size'] <= $max_size) {
    		 // Si c'est OK, on teste l'upload
                if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$_FILES['fichier']['name'])) {
    		 // Si upload OK alors on affiche le message de réussite
             //
            //DE TTE FACON CELUI LA NE MARCHAIT PAS NON PLUS !!
            //
             echo '<b>'. $_FILES['fichier']['name'].' uploadée avec succès !</b>';
    		//Recheche de lid_camp max
    		mysql_select_db($database_Q2base, $Q2base);
    		$requete='SELECT MAX(id_camp) AS id_max FROM campagne GROUP BY id_max';
    		$selectMax = mysql_query($requete, $Q2base) or die(mysql_error());
    		$result = mysql_num_rows($selectMax);
    		$id_max=mysql_fetch_assoc($result);
    		// Ajout du champs dans la BD
    		$sql="INSERT INTO image (filename,id_camp) VALUES('".$nom_file."','".$id_max["id_max"]."')";
    		$insertionImage = mysql_query($sql, $Q2base) or die(mysql_error());
    		    }
    		 }
    	  }
    	}
    	}
    if(!empty($_POST['NewImage'])){
    echo "les images ont bien été téléchargé";
    }
    ?>

    Le truc c'est qu'il n'y a meme pas d'erreur donc je ne sais pas trop ou chercher!!

    Si quelqu'un a une solution!! merci d'avance

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu veux dire que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if($_FILES['fichier']['size'] <= $max_size) {
    		echo 'toto';
                if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$_FILES['fichier']['name'])) {
    la tu as la toto

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if($_FILES['fichier']['size'] <= $max_size) {
     
                if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$_FILES['fichier']['name'])) {
    echo 'toto';
    mais la non ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 68
    Par défaut
    je l'ai juste aprés le :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!empty($_POST['img1'])) {
    Mais a partir de la :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if($_FILES['fichier']['size'] <= $max_size) {
    		echo 'toto';
                if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$_FILES['fichier']['name'])) {
    je ne l'ai plus...

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu as controlé ce que valaient $_FILES['fichier']['size'] et $max_size ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 68
    Par défaut
    Ba normalement je le controle aprés :

    Là je controle si le bouton parcourir a eté cliqué :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!empty($_POST['img1'])) {
    Là si le champ a été rempli :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(!empty($_FILES['fichier']['name'])) {
    	  $nom_file = $_FILES['fichier']['name'];
    	  $taille = $_FILES['fichier']['size'];
    	  $tmp = $_FILES['fichier']['tmp_name'];
    Là l'extension du fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // On vérifie l'extension du fichier
          if(substr($nom_file, -3) == $extension) {
    Là les dimensions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // On vérifie les dimensions et taille de l'image
             if($_FILES['fichier']['size'] <= $max_size) {
    et si tout est ok on passe au move uploaded
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    		 // Si c'est OK, on teste l'upload
                if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$_FILES['fichier']['name'])) {
    		 // Si upload OK alors on affiche le message de réussite
    ...
    mais peut être qu'il faut que je mette le script pour uploader dans cette partie la, quand je valide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(!empty($_POST['NewImage'])){
    echo "les images ont bien été téléchargé";
    }
    car au début je voulais que lupload se fasse automatiquement. Le bouton valider ne servant qu'a confirmer l'upload.

    J'espère que j'ai eté claire !!!

    Merci pour tes réponses!! j'espère qu'on va trouver la solution

Discussions similaires

  1. Wget - télécharger des fichiers non-html
    Par narmataru dans le forum Réseau
    Réponses: 10
    Dernier message: 14/07/2018, 15h20
  2. Telechargement de fichier
    Par ArkAng3 dans le forum MFC
    Réponses: 1
    Dernier message: 31/10/2005, 11h32
  3. [Telechargement de Fichier] Recherche balise adéquate
    Par Kylen dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 12/09/2005, 15h21
  4. telecharger un fichier
    Par mokha8581 dans le forum Langage
    Réponses: 2
    Dernier message: 10/09/2005, 14h15
  5. [VB6] Télécharger un fichier avec VB 6
    Par lechevbt dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 18/02/2004, 20h05

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