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 avec un formulaire


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    PLM IT Consultant
    Inscrit en
    Novembre 2003
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : PLM IT Consultant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 202
    Par défaut Upload avec un formulaire
    Bonjour,
    sur le site Internet que je réalise, j'ai un formulaire (pour ajouter ou modifier les membres de la société) dans lequel on peut ajouter une photo. POur cela, j'ai créé la ligne de code suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="for_img" type="file" size="20" maxlength="1000"/>
    Lors de l'insertion d'un nouveau membre, tout fonctionne parfaitement. Par contre, si je veux modifier un membre mais pas modifier sa photo, sa photo est automatiquement supprimé. En fait, dans mon code j'essaye de faire une condition pour qu'il ajoute la photo ou pas (dans la BD). Est-ce quelqu'un saurait pourquoi il entre automatiquement dans la condition même si je ne modifie pas la photo.

    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
    <?php
    /***********************************************************************************************
    			// Traitement des membres (ajout, suppression, modif) //
    ***********************************************************************************************/
     
    // -- Affichage de la page seulement si la session admin est ouverte
    if ($_SESSION['login'])
    {
      // -- Création de l'objet
      $obj_membres = new Membres();
     
      // -- Test pour savoir si c'est une suppression
      if(isset($_GET['id']))
    	{
    	 $id = $_GET['id'];
    	 $obj_membres->supprimer($id);
    	}
    	else
    	{
     
      // -- Récupération des variables
      $nom 	= addslashes($_POST['for_nom']);
      $prenom	= addslashes($_POST['for_prenom']);
      $dn 	= addslashes($_POST['for_dn']);
      $surnom	= addslashes($_POST['for_surnom']);
      $content = addslashes($_POST['for_content']);
      $img_tmp = $_FILES['for_img']['tmp_name'];
      $img_name = $_FILES['for_img']['name'];
     
     
    		// -- Test pour savoir si un ID a été sélectionné
    		if(isset($_POST['for_id']))
    			{
    			$id = $_POST['for_id'];
    			$obj_membres->id = $id;
    			}
     
    		  // --- Insertion dans la table
    			$obj_membres->nom = $nom;
    			$obj_membres->prenom = $prenom;
    			$obj_membres->dn = $dn;
    			$obj_membres->surnom = $surnom;
    			$obj_membres->content = $content;
     
    		// -- Test pour savoir si un ID a été sélectionné
    		if(isset($_FILES['for_img']['tmp_name']))
    			{
    		if ($img_name!=""){
     
    			$content_dir = './img/membres/'; // dossier où sera déplacé le fichier
     
    			$obj_membres->img = $img_name;
    			  // -- UPLOAD
     
    			  if( !is_uploaded_file($img_tmp) )
    				{
    					echo $img_tmp;
    					exit("Le fichier est introuvable");
    				}
     
    				// on vérifie maintenant l'extension
    				$type_file = $_FILES['for_img']['type'];
     
    				if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif')&& !strstr($type_file, 'png') )
    				{
    					exit("Le fichier n'est pas une image");
    				}
     
    				// on copie le fichier dans le dossier de destination
    				if( !move_uploaded_file($img_tmp, $content_dir . $img_name) )
    				{
    					exit("Impossible de copier le fichier dans $content_dir");
    				}
    			}*/
    			$obj_membres->sauver();
    	}
     echo "<script language=\"JavaScript\"> document.location.href='index.php?page=23';</script>" ;
      } 
      else 
      {
        echo 'Vous n\'avez pas les accès à cette page!';
    }
    ?>
    C'est pas très facile d'expliquer mon problème donc si vous comprenez pas un truc, n'hésitez pas à me poser des questions, j'y répondrai volontier. Merci

  2. #2
    Membre chevronné Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Par défaut
    Bonjour,

    essaye de voir avec un var_dump, la valeur de $_FILES lorsque tu ne changes pas la photo.

    Gillou.

  3. #3
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Bonsoir,
    Il faut que tu vérifies également que ton champs de type "FILE" n'est pas vide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if((isset($_FILES['for_img']['tmp_name'])) && ($_FILES['for_img']['tmp_name']) <> "") {
    Pour l'instant tu ne vérifiais que l'existence de ta variable : elle existe même lorsque ton champs est vide.

Discussions similaires

  1. Réponses: 5
    Dernier message: 24/07/2010, 16h16
  2. Réponses: 7
    Dernier message: 30/10/2009, 14h08
  3. [PHP 5.0] Modifier fichier pour plusieurs upload dans un formulaire avec BDD
    Par theavengers dans le forum Langage
    Réponses: 4
    Dernier message: 14/10/2009, 18h42
  4. [Upload] Insérer un formulaire avec envoi de fichier.
    Par simplyme dans le forum Langage
    Réponses: 7
    Dernier message: 13/06/2007, 11h22
  5. Réponses: 6
    Dernier message: 22/05/2007, 11h01

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