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 :

erreur dans ma fonction de vérification


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Par défaut erreur dans ma fonction de vérification
    Bonjour j'ai une erreur dans ma fonction de vérification

    Ma fonction doit s'arréter lorsqu'il y a une erreur. j'ai cru qu'elle
    fonctionnait. Quand lorsque je passais des valeurs contenues
    dans le tableau. La fonction me disait que c'etait bon. Mais
    lors que j'ai introduit une erreur dans la liste de valeur à
    vérifier par rapport au tableau. Il me dit qu'il y a pas d'erreur.
    Or la valeur n'est pas contenue dans le tableau.

    Voici la fonction
    Ici je passe les valeurs justes contenues dans le tableau
    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
     
    <?php
    //-------------------------------------------------
    $a[0]=array(0=>1,1=>2);// ligne 1 tableau a
    $b[0]=array(0=>3,1=>4);// ligne 2 tableau a
    $c[0]=array(0=>5,1=>6);// ligne 3 tableau a
    $d[0]=array(0=>7,1=>8);// ligne 4 tableau a
    $e[0]=array(0=>9,1=>10);// ligne 5 tableau a
    //-------------------------------------------------
    $f[]=array(2=>11,3=>12);// ligne 1 tableau b
    $g[]=array(2=>13,3=>14);// ligne 2 tableau b
    $h[]=array(2=>15,3=>16);// ligne 3 tableau b
    $j[]=array(2=>17,3=>18);// ligne 4 tableau b
    $k[]=array(2=>19,3=>20);// ligne 5 tableau b
    //-------------------------------------------------
    $tableau=array_merge($a,$b,$c,$d,$e,$f,$g,$h,$j,$k);//tableau c
    $val=array("3.0","6.1","17.2","20.3");// les valeurs les colonnes correspondantes à vérifiés
    $nbr=sizeof($tableau);//nombre ligne total
    $verif=false;
    foreach($val as $value){
           $va=explode(".",$value);
    	   $ba=$va[0];
    	   $bb=$va[1];
             for($i=0;$i<$nbr;$i++){
    if($ba==$tableau[$i][$bb]){$verif=true;reset($tableau);continue;}
    		                       }
    if($verif){echo"bon,";}
    else{echo"erreur";exit();}
                           }
    ?>
    L'affichage me donne bon,bon,bon,bon

    Maintenant pour la même fonction je change $val. J'introduis une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $val=array("3.0","6.1","17.2","21.3");
    L'affichage devrait me donner bon,bon,bon,erreur. Au lieu de ça j'ai
    bon,bon,bon,bon

    J'ai tenté avec une autre fonction

    Je remplace dans ma fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if($ba==$tableau[$i][$bb]){$verif=true;reset($tableau);continue;}
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if($tableau[$i][$bb]!=""){
    	if(!in_array($ba,$tableau[$i])){$verif=true;reset($tableau);continue;}
    					     }
    El la aussi j'ai bon,bon,bon,bon au lieu de bon,bon,bon,erreur
    Que faut-il faire pour que cela fonctionne?

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Il y a un problème de parenthèse relit ton code...

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 329
    Par défaut rep
    je ne vois ou elle est l'erreur de parenthèse. Si j'avais une erreur de parathese j aurais une message d'erreur.

    j'ai fait une modification
    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
    $tableau=array_merge($a,$b,$c,$d,$e,$f,$g,$h,$j,$k);//tableau c
    $val=array("3.0","6.1","17.2","21.3");// les valeurs
    $nbr=sizeof($tableau);//nombre ligne total
    $verif=false;
    foreach($val as $value){
           $va=explode(".",$value);
    	   $ba=$va[0];
    	   $bb=$va[1];
             for($i=0;$i<$nbr;$i++){
    		            if($ba===$tableau[$i][$bb]){$verif=true;reset($tableau);continue;}
    //                    if($tableau[$i][$bb]!=""){if(!in_array($ba,$tableau[$i])){$verif=true;reset($tableau);continue;}}
    		                       }
         if($verif==true){echo"bon";}
         else{echo"erreur";exit();}
                           }
    La par contre j'affiche erreur. Mais maintenant si je remets 20 qui est contenu dans le tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $val=array("3.0","6.1","17.2","20.3");
    j'affiche erreur.
    c'est un véritable casse tête. je ne sais plus quoi faire pour que la fonction fonctionne correctement.

  4. #4
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Tu as une parenthèse de trop... regarde à nouveau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    foreach($val as $value){
           $va=explode(".",$value);
    	   $ba=$va[0];
    	   $bb=$va[1];
             for($i=0;$i<$nbr;$i++){
    if($ba==$tableau[$i][$bb]){$verif=true;reset($tableau);continue;
    } // fermeture du if
    		                       } //fermeture du for
    if($verif){echo"bon,";} //fermeture du if
    else{echo"erreur";exit();} //fermeture du else
                           } // fermeture de quoi ?

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Par défaut
    Bah fermeture du foreach ?_?

  6. #6
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Ouh là j'ai plus les yeux en face des trous

    par contre avec ton code du début j'ai une fatal error :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: [] operator not supported for strings in /mnt/sites/dimension-internet.com/web/mail.php on line 9

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

Discussions similaires

  1. erreur dans la fonction update (en asp)
    Par leclone dans le forum ASP
    Réponses: 1
    Dernier message: 26/05/2006, 10h00
  2. [débutant] erreur dans une fonction
    Par Skizo dans le forum Access
    Réponses: 7
    Dernier message: 18/05/2006, 10h46
  3. Erreur dans ma fonction smileys
    Par AlphonseBrown dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/03/2006, 19h54
  4. Erreur dans une fonction
    Par dark_vidor dans le forum Langage
    Réponses: 6
    Dernier message: 15/01/2006, 10h23
  5. Réponses: 2
    Dernier message: 11/08/2004, 15h01

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