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 :

Caractère pipe ( | ) & erreur de fonction


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de mensoif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Points : 129
    Points
    129
    Par défaut Caractère pipe ( | ) & erreur de fonction
    Bonjourno,

    j'ai une petite fonction qui analyse certains caractères et lorsque j'analyse le fameux caractères pipe ( | ), j'obtiens une erreur étrange.

    Pouvez vous m'expliquer en quoi ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if ( ($advance_op == '+' )  || 
          ($advance_op == '|' ) ) {
       blablabla
    }
    produisent l'erreur suivante (vous l'aurez devinez la ligne indiquer et la deuxième ligne de la condition)

    Fatal error: Call to undefined function ()
    ps : sachant que lorsque je commente cette ligne, l'erreur disparait !

    En vous remerciant d'avance. =)

  2. #2
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 130
    Points : 76
    Points
    76
    Par défaut
    peut etre que cela va t aider en l applicant sur la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    string quotemeta ( string $str )
    Retourne la chaîne str après avoir introduit un antislash (\) 
    devant tous les caractères suivants : 
    . \ + * ? [ ^ ] ( $ )

  3. #3
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    chez moi ce code fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    $advance_op = "|";
    if ( $advance_op == '+' or $advance_op == '|' ) print "vu";

  4. #4
    Membre éclairé Avatar de Korko Fain
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    632
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 632
    Points : 718
    Points
    718
    Par défaut
    utilise (str_cmp($caractere, '|') === 0 ) sinon...

  5. #5
    FoxLeRenard
    Invité(e)
    Par défaut
    Bref et en résumer ,
    tout emploie de () équivaux a une fonction
    lorsque la syntaxe ne l'exige pas
    Et puis ton blabla c' est un echo html

    Tu avais écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if ( ($advance_op == '+' )  || 
          ($advance_op == '|' ) ) {
       blablabla
    }
    Il fallait écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if ( $advance_op == '+'   ||       $advance_op == '|' )  
       {   echo ("blablabla"); }

  6. #6
    Membre habitué Avatar de mensoif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Points : 129
    Points
    129
    Par défaut
    Désolé pour le silence, pas de connexion internet à proximité.

    Bref et en résumer ,
    tout emploie de () équivaux a une fonction
    lorsque la syntaxe ne l'exige pas
    J'ai tous à fait le droit d'utiliser des parenthèse ici, cela est inutil certe, mais que se soit pour un souci de lisibilité ou autre, cela n'est pas source d'erreur.

    Et puis ton blabla c' est un echo html
    Ici en l'occurrence c'était surtout une éllipse, sachant que le problème venait de la condition, je n'ai pas eu envie de tout réécrire...

    chez moi ce code fonctionne :
    J'avais également testé le "or" sans succés.


    Bon, maintenant voici l'erreur qui m'a touché.. un debuger de ce nom aurait indiqué Unrecognizable characters et je n'aurais pas cherché pendant deux heure. Mais dans le cas de php, cela me donnait Call to undefined fonction, ayant l'habitude d'avoir une indication sur un manquement d'accolade ou autre lors de la présence d'un de ces caractères, j'avais situé le problème ailleurs, en oubliant cette histoire de caractère.

    Bref, <3 le mode utf8 du terminal, il me falut passer en ISO 8859-15 pour voir ces caractères apparaître.

    Merci tout de même pour vos réactions !!

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

Discussions similaires

  1. [VBA] Erreur avec fonction Dcount
    Par Virgile59 dans le forum Access
    Réponses: 6
    Dernier message: 15/06/2006, 09h56
  2. Erreur 3388: fonction inconnue
    Par flukie dans le forum Access
    Réponses: 1
    Dernier message: 09/05/2006, 10h51
  3. Erreur appel fonction java d'une jsp
    Par itachi38 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 29/04/2006, 16h51
  4. Erreur de fonction
    Par Anduriel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/11/2005, 20h56
  5. Erreur de fonction
    Par Anduriel dans le forum Langage
    Réponses: 15
    Dernier message: 26/11/2005, 14h49

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