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 :

fonction eval


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Par défaut fonction eval
    salut,

    comment enregistrer une ligne de code du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     "ben ".$tab['a']." je vais bien et ".$tab['b']." ?"
    dans une chaine afin de l'utiliser ulterieurement avec la fonction eval
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $tab = array( "a"=>"moi", "b"=>"toi" );
    eval( $str );
    echo $str;
    car avec eval g du mal

    Merci

  2. #2
    Membre émérite
    Avatar de Kioob
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut
    hello,

    Déjà es tu sûr d'avoir à utiliser eval() ? Car c'est souvent une très mauvaise idée : les cas où son utilisation est vraiment justifiée sont extrèmement rares.
    Eval() apporte souvent des problèmes de sécurité, et le code devient difficile à maintenir...

    Sinon pour répondre à la question, bah il suffit d'utiliser une chaine entre simple quotes (guillemets simples), et d'échapper ceux qui se trouvent dans la chaine...
    Ce qui donnerait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $codePHP = '$bidule = "ben ".$tab[\'a\']." je vais bien et ".$tab[\'b\']." ?"; ';

  3. #3
    Expert confirmé 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
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $str = '$result = "ben ".$tab[\'a\']." je vais bien et ".$tab[\'b\']." ?";';
    $tab = array( "a"=>"moi", "b"=>"toi" );
    eval( $str );
    echo $result;
    ?>
    Mais je déconseille l'utilisation d'eval...
    EDIT: grilled

  4. #4
    Membre éprouvé
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Par défaut
    Merci bien

    ...je vais tout de même essayer de trouver une alternative a eval.

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

Discussions similaires

  1. Fonction eval en java ?
    Par ramislebob dans le forum Langage
    Réponses: 2
    Dernier message: 12/01/2006, 01h22
  2. Parsage avec la fonction eval
    Par alain31tl dans le forum Langage
    Réponses: 12
    Dernier message: 23/11/2005, 16h27
  3. Simuler la fonction eval
    Par topwl dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 26/08/2005, 02h44
  4. Existe-t-il une fonction Eval() sous Delphi ?
    Par Hell dans le forum Langage
    Réponses: 5
    Dernier message: 20/12/2004, 18h45
  5. [String] équivalent de la fonction eval() en javascript
    Par jeyce dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 01/09/2004, 09h42

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