Partage
  • Partager sur Facebook
  • Partager sur Twitter

if (!empty($_FILES['photo_id']))

    9 mars 2007 à 23:45:44

    Hello!

    Petit problème...
    J'ai mis en place un formulaire qui fonctionne très bien, sauf que j'ai voulu y ajouter la possibilité d'uploader 3 photos aux données envoyées...

    Dans le formulaire j'ai donc ajouté cela:

    <div class="ligne">
            <!-- Limiter la taille des fichiers à 500Ko -->
            <input type="hidden" name="MAX_FILE_SIZE" value="524288" />
            <!-- champs d'envoi de fichier, de type file -->
            <label for="photo_id">Photo :</label><input type="file" name="photo_id" id="photo_id" />
    </div>
    <div class="ligne">
            <!-- Limiter la taille des fichiers à 500Ko -->
            <input type="hidden" name="MAX_FILE_SIZE" value="524288" />
            <!-- champs d'envoi de fichier, de type file -->
            <label for="photo_1">Photo :</label><input type="file" name="photo_1" id="photo_1" />
    </div>
    <div class="ligne">
            <!-- Limiter la taille des fichiers à 500Ko -->
            <input type="hidden" name="MAX_FILE_SIZE" value="524288" />
            <!-- champs d'envoi de fichier, de type file -->
            <label for="photo_2">Photo :</label><input type="file" name="photo_2" id="photo_2" />
    </div>


    Quant au php, en simplifié ça donne ça les modifications:

    unset($ajout_photo_id);
    unset($ajout_photo_1);
    unset($ajout_photo_2);
    if (!empty($_FILES['photo_id']))
    {
            if (on a téléchargé correctement 'photo_id')
            {
                    $ajout_photo_id = 'succes';
            }
            else
            {
                    $ajout_photo_id = 'erreur';
            }
    }
    if (!empty($_FILES['photo_1']))
    {
            if (on a téléchargé correctement 'photo_1')
            {
                    $ajout_photo_1 = 'succes';
            }
            else
            {
                    $ajout_photo_1 = 'erreur';
            }
    }
    if (!empty($_FILES['photo_2']))
    {
            if (on a téléchargé correctement 'photo_1')
            {
                    $ajout_photo_2 = 'succes';
            }
            else
            {
                    $ajout_photo_2 = 'erreur';
            }
    }

    if ((empty($ajout_photo_id) || $ajout_photo_id == "succes") && (empty($ajout_photo_1) || $ajout_photo_1 == "succes") && (empty($ajout_photo_2) || $ajout_photo_2 == "succes"))
    {
            echo 'bravissimo';
    }
    else
    {
            echo 'echec de l'envoi des photos: '.$ajout_photo_id.' - '.$ajout_photo_1.' - '.$ajout_photo_2;
    }
     


    Je commence mon test en complétant tout le formulaire sauf les 3 champs concernant les photos... En effet je veux que l'upload des photos soit optionnel.
    Et là... c'est le drame... Affichage:

    echec de l'envoi des photos: erreur - erreur - erreur


    Ce que je ne comprends pas c'est que je n'ai pas rempli les champs concernant les photos... ils sont donc supposés être vides non?
    Du coup quand je fais le test "if (!empty($_FILES['photo_id']))" on ne devrait pas selon mon raisonnement rentrer dans la condition, de même pour "if (!empty($_FILES['photo_1']))" et "if (!empty($_FILES['photo_2']))"

    Or, à chaque fois on est entré dans la condition puisque les 3 variables $ajout_photo_id, $ajout_photo_1 et $ajout_photo_2 ont chacune pris la valeur "erreur" au lieu de rester nulles comme prévu

    Si quelqu'un voit d'où vient le problème de la ligne "if (!empty($_FILES['photo_id']))", je lui en saurai fort gré...
    • Partager sur Facebook
    • Partager sur Twitter

    if (!empty($_FILES['photo_id']))

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown