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 :

uplode d'un fichier


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 2
    Par défaut uplode d'un fichier
    bonsoir à tous,
    j'ai un projet qui necessite un telechargement d'une image à partir du disque pour cela j'ai codé un simple code en php malheureusement il ne fonctionne pas.
    le problème affiché est :
    Undefined index: avatar in ligne 9 et 10
    s'il vous plait quelqu’un peut m'aider et merci d'avance .

    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
    <?php
    include('connect.php');
     
    if(isset($_POST['submit']))
    {
      $password=($_POST['password']);
      $password1=($_POST['password1']);
     
      $avatar=$_FILES['avatar']['name'];
      $avatar_tmp=$_FILES['avatar']['tmp_name'];
      $errors=array();
     
    $info=info_controleur($_SESSION['id']);
    //recuperation de l'image
    if(!empty($avatar))
    {
    $image=explode('.',$avatar);
    $image_ext=end($image);
    //extension volue
    //strtolower pour le miniscule et le majuscule
    if(in_array(strtolower($image_ext),array('jpg','jpeg','gif','png'))===false)
    {
     $errors[]="votre avatar doit être une image valide";
    }
     
    }
     
    if(empty($errors))
    {
    modifier_profile_admin($password1,$avatar,$avatar_tmp);
    die('vos informations ont été modifiées');
    }
    else
    {
     foreach($errors as $error)
     {
       echo $error ;
       }
     
       } }
    ?>
     
    <!doctype html>
    <html>
    <head>
    <title> modification du  admin </title>
    </head>
    <body>
    <form method="POST" action="" enctype="multipart/from-data" >
                       <label for="password">ancien mot passe</label>
    					<input name="password" type="text" placeholder="Ancien mot passe"/><br>
    					<label for="pass">Password</label>
     
     
    					<input name="password1" type="password" placeholder="nouveau mot passe"/> <br>
    					<p>AVATAR:</p>
    					<input type="file" name="avatar"/><br>
    					<input type="submit" name ="submit" value="modifier">
     
     
    </body>
     
     
    </html>

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Erreur dans la valeur du enctype :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="POST" action="" enctype="multipart/from-data" >
    Fais un print_r de $_POST et $_FILES pour voir ce que tu reçois.

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonsoir,

    Tu n'as pas de balise fermante pour form.

    A+.

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Oui et sinon on ne sait pas ce que fait ta fonction "modifier_profile_admin" donc impossible de vérifier son fonctionnement.

    A savoir aussi que tu ne pourras pas gérer l'erreur de dépassement du poids total du formulaire (post_max_size) autorisé par le serveur de cette façon.
    Car en cas de dépassement (si l'image est trop lourde) la globale $_POST sera vide et donc on ne rentrera jamais dans ta condition "if(isset($_POST['submit']))" et tu auras une page blanche à la place.

    Si besoin il y a cette classe d'upload qui est simple d'utilisation et qui gère les erreurs. Elle peut aussi faire du redimensionnement à la volée ce qui pourrait-être utile pour un avatar...

Discussions similaires

  1. Upload fichiers / Accés fichiers uplodé
    Par MaxLaMenaX dans le forum Wildfly/JBoss
    Réponses: 3
    Dernier message: 12/03/2009, 12h35
  2. Réponses: 3
    Dernier message: 21/06/2006, 23h23
  3. [Upload] Uploder un fichier [PHP]
    Par osoumayaj dans le forum Langage
    Réponses: 2
    Dernier message: 12/05/2006, 12h44
  4. Uplod de fichier
    Par Poussy-Puce dans le forum ASP
    Réponses: 5
    Dernier message: 15/01/2006, 12h42

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