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 :

BUG PHP ? -> Il me faut un pro !


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut BUG PHP ? -> Il me faut un pro !
    Voici mon soucis :

    <?php
    foreach ($tabToCheck as $key=>$value)
    {

    //Vérification des champs obligatoires
    if ($this->tabCheckValues[$key]['required'] == TRUE and strlen( trim($value) ) == 0){

    $tabToReturn[$key]['error'] = "Pas de valeur saisie";
    return
    $tabToReturn;
    }

    //Vérification de la concordence entre le type et la saisie
    if ($this->checkInputValue ($this->tabCheckValues[$key]['type'], $value) == FALSE){

    $tabToReturn[$key]['error'] = "Le type de la valeur n'est pas bon";
    return
    $tabToReturn;
    }
    ?>
    Colorez votre code PHP sur les forums grâce à Developpez.com


    Si je passe dans mon premier If mon tableau recevra bien la bonne valeur, si ça passe dans le 2ème, le tableau recevra une chaine qui veut rien dire, j'ai tout essayé, passer le code dans tous les sens je comprend vraiment pas....
    Ca fait deux heure que je suis là dessus si qqun voit le problème...

    Un exemple parlant de debuggage, je prend ce qui est dans le second if, je le met dans le premier if, et la valeur est bien initialisée ! Je vais péter un plomb...

    Si vous comprenez pas bien posez moi des questions, je suis vraiment bloqué là dessus :'( :'(

    Voici l'état du tableau testé (PS : c'est une instanciation de $_POST) lorsqu'il est vrai pour le premier if :

    Array
    (
    [usr_log] =>
    [usr_email] =>
    [usr_pwd] =>
    )

    Voici l'état du tableau (toujours une instanciation d'un $_POST) lorsqu'il est faux pour le premier if, et vrai pour le second :

    Array
    (
    [usr_log] => Pseudo
    [usr_email] =>
    [usr_pwd] =>
    )

    Maintenant voici l'état du tableau retourné par le premier If :
    Array
    (
    [usr_log] => Array
    (
    [error] => Pas de valeur saisie
    )

    [usr_email] =>
    [usr_pwd] =>
    )

    Et l'état du tableau retourné dans le second if :

    Array
    (
    [usr_log] => Lseudo
    [usr_email] =>
    [usr_pwd] =>
    )
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  2. #2
    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
    ca veut dire quoi 'une chaine qui ne veut rien dire' ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par Mr N.
    ca veut dire quoi 'une chaine qui ne veut rien dire' ?
    J'ai refais mon code pour qu'il soit plus facile à lire tout en gardant le bug
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    ya pas un vétéran du PHP pour m'aider ?
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  5. #5
    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
    Tu es dans une classe là?
    Sinon je veux biien que tu reexpliques ce qu'il se passe je n'ai pas compris.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par Anduriel
    Tu es dans une classe là?
    Sinon je veux biien que tu reexpliques ce qu'il se passe je n'ai pas compris.
    Oui je suis dans une classe, tu veux que je te rééxplique quelle partie ?
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Bon apparement personne n'ai capable de résoudre ce problème, je vais considéré que c'est un bug PHP, et changé de méthologie, merci à ceux qui se sont penché sur le problème
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  8. #8
    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
    Tu es bien impatient C'est le week end faux laisser reposer le clavier

    Déjà je te déconseille de mettre un return en plein milieu d'une boucle.
    Ensuite, si tu mets des traces dans tes ifs, est-ce que tu n'arriverais pas à résoudre le problème ?

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par Mr N.
    Tu es bien impatient C'est le week end faux laisser reposer le clavier

    Déjà je te déconseille de mettre un return en plein milieu d'une boucle.
    Ensuite, si tu mets des traces dans tes ifs, est-ce que tu n'arriverais pas à résoudre le problème ?
    Oui c'est vrai que je suis impatient, mais ça va faire 2 jours que je suis là dessus, et je suis bloqué
    Oui je pourrais retourner la valeur de la boucle, mais ça ne changera rien.
    j'ai mis des traces dans mes ifs, ça change rien, je suis sur que ça rentre bien dans les ifs quand il faut
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  10. #10
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 237
    Points
    8 237
    Par défaut
    on pourrait avoir le code complet ? un fichier .txt sur un site serait mieux que tout le source sur le forum. ce serait plus simple pour débugger en local
    que fait checkInputValue() exactement ?

  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
    je ne doute pas que ca rentre ou pas dans tes ifs, mais si tu te retrouves avec une valeur bidon, ce n'est pas pour rien. Donc à toi de mettre des traces sur ce que contient ton tableau avant que tu lui mette quelque chose dedans, après, pendant, ...

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Voici les 4 fichiers dont vous avez besoin (qui sont zippés)

    http://www.gianonatti.com/temp/test.rar
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Citation Envoyé par Mr N.
    je ne doute pas que ca rentre ou pas dans tes ifs, mais si tu te retrouves avec une valeur bidon, ce n'est pas pour rien. Donc à toi de mettre des traces sur ce que contient ton tableau avant que tu lui mette quelque chose dedans, après, pendant, ...
    j'utilise NuSphere, et j'ai un debuggeur interne, je vois donc exactement ce qui se passe.
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Toujours personne à de soluce ?
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  15. #15
    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
    Nan mais ho ! On est sur un forum là, pas sur un chat !

    Donc tu peux ranger ton super debugger car avec un simple var_dump au milieu de ton if tu aurais surement compris ce qui n'allait pas.

    L'erreur est valable dans les deux if même si dans le premier tu crois que ça marche.

    $tabToReturn[$key] est une chaine (la valeur soumise par le user au travers du formulaire. Cette chaine peut etre vide.
    $tabToReturn[$key]['toto'] accede à l'indice 'toto' de la chaine en question. forcément cet indice n'existe pas pour une chaine donc il te met un résultat incohérent pour toi, mais c'est seulement parce que tu lui demande de faire des choses incohérentes...

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 401
    Points : 120
    Points
    120
    Par défaut
    Ah ok merci
    Tu utilises quel debuggeur toi ?
    www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org

  17. #17
    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
    bibi 8)

    à coup de echo et de var_dump on s'en sort.

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

Discussions similaires

  1. [Dates] Naviguer d'heures en heures : bug PHP
    Par obibann dans le forum Langage
    Réponses: 2
    Dernier message: 08/06/2010, 12h03
  2. [MySQL] bug php quand 2 sites sur meme hébergement
    Par spespam dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 22/06/2009, 15h18
  3. Réponses: 1
    Dernier message: 20/03/2008, 11h09
  4. [PHP-JS] bug php ? ou alors je comprends rien
    Par mikebranque dans le forum Langage
    Réponses: 1
    Dernier message: 25/09/2006, 13h32
  5. [POO] BUG PHP ?? Utilisation référence
    Par aurapp dans le forum Langage
    Réponses: 6
    Dernier message: 04/04/2006, 14h25

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