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 :

Problème de condition, je flanche..


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de KibitO
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2004
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2004
    Messages : 616
    Points : 606
    Points
    606
    Par défaut Problème de condition, je flanche..
    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
    if (is_uploaded_file($_FILES["avatarUser"]["tmp_name"]))
                       {
                        if (!getimagesize($_FILES["avatarUser"]["tmp_name"]))
                        {
                         $erreur=TRUE;
                         $chaineErreur .= "Avatar : le fichier envoyé n'est pas une image.<br>";
                        }
                        else
                        {
                         list($largeur,$hauteur,$type)=getimagesize($_FILES["avatarUser"]["tmp_name"]);
     
                         if ($largeur > 120 || $hauteur > 150)
                         {
                          $erreur=TRUE;
                          $chaineErreur .= "Avatar : les dimensions de votre avatar sont trop grandes.<br>";
                         }
                         if (filesize($_FILES["avatarUser"]["tmp_name"]) > 20480)
                         {
                          $erreur=TRUE;
                          $chaineErreur .= "Avatar : le poids de votre image dépasse les 20Ko.<br>";
                         }
                         if (($type <> 1) || ($type <> 2) || ($type <> 3) || ($type <> 6))
                         {
                          $erreur=TRUE;
                          $chaineErreur .= "Avatar : votre image n'est pas une image .gif, .jpg, .png ou .bmp<br>-- $type --<br>-- $largeur --<br>-- $hauteur --";
                         }
                        }
                       }
    La partie concernée est le test sur le type d'image, en effet, le type est bien égal à 1,2,3 ou 6 mais je rentre quand même dans le test ! D'où un message d'erreur ($erreur=TRUE)...

    Vraiment je ne comprends pas.

  2. #2
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    salut,

    où déclares-tu la variable $type ?

    tu peux faire aussi un in_array
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(!in_array($type, array(1,2,3,6))) {
       $erreur=TRUE;
                          $chaineErreur .= "Avatar : votre image n'est pas une image .gif, .jpg, .png ou .bmp<br>-- $type --<br>-- $largeur --<br>-- $hauteur --";
    }

  3. #3
    Membre confirmé Avatar de KibitO
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2004
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2004
    Messages : 616
    Points : 606
    Points
    606
    Par défaut
    Salut !

    $type est déclaré ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list($largeur,$hauteur,$type)=getimagesize($_FILES["avatarUser"]["tmp_name"]);

  4. #4
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    bien ecoutes, j'arrete de réfléchir, j'ai passé l'heure

    en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if ($type == 1 || $type == 2 || $type == 3 || $type == 6) {
             ;//nop
          }else {
             $erreur=TRUE;
             $chaineErreur .= "Avatar : votre image n'est pas une image valide<br>-- $type --<br>-- $largeur --<br>-- $hauteur --";
          }
    ça fonctionne, c'est le principal non ?

  5. #5
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    la burne, j'avais écarté l'hypothése, mais non, c'était bien celle-là, faut que j'aille me coucher c'est sûr...

    mets des "&&" a la place des "||"

    ;-)

  6. #6
    Membre confirmé Avatar de KibitO
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2004
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2004
    Messages : 616
    Points : 606
    Points
    606
    Par défaut
    Le problème est qu'un type ne peut pas être à la fois 1, 2, 3 et 6...

    Bonne nuit, merci de ton courage, moi aussi je file, je verrai ça demain

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Points : 1 093
    Points
    1 093
    Par défaut
    il me semble que le code de ska_root avec || devrait fonctionner
    sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (($type <> 1) and ($type <> 2) and ($type <> 3) and ($type <> 6)) 
    {$erreur=TRUE;

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    691
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 691
    Points : 362
    Points
    362
    Par défaut
    et si tu essayais ca :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if (($type != 1) || ($type != 2) || ($type != 3) || ($type != 6)) 
    {$erreur=TRUE;
    Parceque si je lis bien ton code, <> pour moi ca veut dire different et non egal.

  9. #9
    Membre confirmé Avatar de KibitO
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2004
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2004
    Messages : 616
    Points : 606
    Points
    606
    Par défaut
    Citation Envoyé par zulot
    et si tu essayais ca :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if (($type != 1) || ($type != 2) || ($type != 3) || ($type != 6)) 
    {$erreur=TRUE;
    Parceque si je lis bien ton code, <> pour moi ca veut dire different et non egal.
    Oui j'ai quasiment tout essayé. Et je ne veux pas que ce soit égal pour rentrer dans le IF, car si c'est différent, je veux afficher une erreur. Or là, même en étant "égal", j'ai l'erreur quand même.

  10. #10
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Le in_array() de ska_root ne fonctionne pas? C'est bizarre car il parait bon, moi-même j'ai utilisé ça...

  11. #11
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par Anduriel
    Le in_array() de ska_root ne fonctionne pas? C'est bizarre car il parait bon, moi-même j'ai utilisé ça...
    +1

  12. #12
    Membre confirmé Avatar de KibitO
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2004
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2004
    Messages : 616
    Points : 606
    Points
    606
    Par défaut
    Oui, j'étais en train de tester le in_array()..

    Mais sincèrement, vous voyez une erreur ?

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Points : 1 093
    Points
    1 093
    Par défaut
    Citation Envoyé par francis m
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (($type <> 1) and ($type <> 2) and ($type <> 3) and ($type <> 6)) 
    {$erreur=TRUE;
    Je me répète, mais as-tu essayé cela ? parce que chez moi cela fonctionne correctement !

  14. #14
    Membre confirmé Avatar de KibitO
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2004
    Messages
    616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2004
    Messages : 616
    Points : 606
    Points
    606
    Par défaut
    Allez hop ! Merci beaucoup, avec les && ça marche d'enfer. Il va falloir que je revois mes conditions...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème de condition dans une macro
    Par Skizo dans le forum Access
    Réponses: 3
    Dernier message: 15/05/2006, 11h22
  2. [débutant] problème de condition dans une requete
    Par banker dans le forum Access
    Réponses: 5
    Dernier message: 22/03/2006, 13h52
  3. Réponses: 7
    Dernier message: 27/02/2006, 18h04
  4. [Debutant]Problème de condition
    Par ghan77 dans le forum Langage
    Réponses: 9
    Dernier message: 13/12/2005, 15h20
  5. Réponses: 6
    Dernier message: 17/08/2005, 12h38

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