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 avec le short tag <?= ?>


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 99
    Points : 230
    Points
    230
    Par défaut problème avec le short tag <?= ?>
    Bonjour,
    je dois changer le serveur php d'une de nos applications interne. Cette application est en php4. J'ai donc préparé une machine avec php4 pour faire tourner mon application. Le tout fonctionne à peu près sauf que ...
    l'appli utilise massivement la balise "<?= ... ?>" qui a un comportement bizarre
    Example

    avec une variable $nbJ qui vaut 0
    l'affichage rendu par <?=printf("%.lf",$nbJ)?> donne 0.03
    alors que sur l'ancien serveur cela donnait 0

    connaîtriez-vous le paramètre php qui permettrait d'obtenir un affichage correct?

    je dois trouver une solution sans changer le code original de l'appli.

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2009
    Messages : 116
    Points : 163
    Points
    163
    Par défaut
    Tu dois modifier la valeur du "short_open_tag" dans ton php.ini ou dans un htaccess.

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Citation Envoyé par Damien51 Voir le message
    Tu dois modifier la valeur du "short_open_tag" dans ton php.ini ou dans un htaccess.
    Non, ça c'est pour activer/désactiver les short open tags.

    Le problème là, c'est en fait au niveau de l'affichage via print_f printf("%.lf",$nbJ)
    Citation Envoyé par php.net
    f : l'argument est traité comme un nombre à virgule flottante (type float), et présenté comme un nombre à virgule flottante (tenant compte de la locale utilisée).
    Donc a priori, tu dois donc utiliser une locale différente sur ton nouveau serveur. Essaye de changer la locale pour voir.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 99
    Points : 230
    Points
    230
    Par défaut
    J'avais déjà mis les locales sur fr_FR@euro pour être raccord avec l'ancien serveur.
    Ça semble bizarre qu'une histoire de locales change la valeur d'une variable plutôt que son formatage.
    En plus si je change la balise en <? printf("%.lf",$nbJ) ?>, j'ai bien 0.0 qui s'affiche et non-plus 0.03

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2009
    Messages : 116
    Points : 163
    Points
    163
    Par défaut
    Citation Envoyé par Celira Voir le message
    Non, ça c'est pour activer/désactiver les short open tags.
    Autant pour moi, j'ai pas lu correctement

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Euh, sauf erreur de ma part <?=$var ?> c'est équivalent de <?php echo $var ?>.
    Or printf est déjà une fonction d'affichage.
    Donc normalement ça devrait être soit <? printf("%.lf",$nbJ)?; >, soit <?=sprintf("%.lf",$nbJ)?>

Discussions similaires

  1. Problème avec fwrite d'un short en binaire
    Par gofio79 dans le forum C
    Réponses: 3
    Dernier message: 12/06/2011, 09h35
  2. Problème avec Tags
    Par djimy05 dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 05/06/2011, 11h34
  3. Problèmes avec CSS et DIV TAG
    Par acheo dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 06/03/2010, 22h00
  4. Réponses: 19
    Dernier message: 12/11/2007, 10h11
  5. [RegEx] Problème avec les espaces entre deux tags
    Par elcoyotos dans le forum Langage
    Réponses: 9
    Dernier message: 17/04/2007, 12h01

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