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 :

Include pour insérer du code dans un IF


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 122
    Par défaut Include pour insérer du code dans un IF
    Bonjour,

    J'ai une petite question liée à l'include en php.

    J'ai un code du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (
    ($foo==$bla) || ($foo1==$blo) || ($foo2==$blu)
    ) 
    { echo $var; }
    J'ai un petit fichier code.txt qui contient des lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ($foo3==$bly) 
    ||
    ($foo4==$blee)
    ||
    etc., et ce généré par un autre code.

    Je n'arrive pas à insérer mon fichier code.txt pour pouvoir allonger la liste des OR de la condition IF.

    Si je fais par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (
    include('code.txt');
    ($foo==$bla) || ($foo1==$blo) || ($foo2==$blu)
    ) 
    { echo $var; }
    cela génère un message d'erreur.

    Comment procéder ?

    Merci par avance.

  2. #2
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Par défaut
    essaye ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    include('code.txt');
    if ( eval(file_get_contents('code.txt')) || $truc || $muche )

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 122
    Par défaut
    Il me fait une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected '('
    au niveau de la ligne de l'eval.

    Pour info, voilà à quoi ressemble le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    include('code.txt');
     
    if (
     
    eval(file_get_contents('code.txt'))
     
    (($EnumArray_categorie[$j]=="Wikipedia") && ereg("wikipedia",extraitRacine($resultats[$i])))
    ||
    (($EnumArray_categorie[$j]=="Wikipedia") && ereg("wikiquote",extraitRacine($resultats[$i])))
    )
    { ... }
    et code.txt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    (($EnumArray_categorie[$j]=="E-commerce") && ereg("fnac",extraitRacine($resultats[$i])))||
    (($EnumArray_categorie[$j]=="") && ereg("ebooks-gratuit",extraitRacine($resultats[$i])))||

  4. #4
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Tu pars du mauvais pied. La directive include ne sert par à incorporer des fragments de script dans d'autres scripts mais à inclure des traitements ou de l'affichage. De ce fait, tout ce que contiens ton script include doit impérativement être du PHP valide qui doit pouvoir être interprété séparément de tout autre script.

    Si tu veux vraiment pouvoir séparer tous les cases de ta structure de contrôle dans différents fichiers (ce que je trouve impropre pour ma part), il faut que tu construise l'intégralité de ta structure dans une chaîne de caractères et que tu l'évalues. Mais franchement je te le déconseille vu le problème de sécurité que ça soulève. Il y a forcément un autre moyen, qu'est ce que tu essaie de faire au juste ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 122
    Par défaut
    En gros voilà l'idée :

    1) Je tape un mot clé dans un formulaire.
    2) Le script récupère et affiche les 10 premiers résultats Google sur ce mot clé
    3) Pour chacun des 10 liens, il affiche à côté un petit menu déroulant :
    - si le lien Google est déjà qualifié, il affiche la catégorie correspondante (par ex: "Blog"), récupérée d'après une BDD MySql.
    - si le lien n'est pas qualifié, alors le menu déroulant n'affiche rien par défaut, mais propose plusieurs choix.

    L'idée à partir de là est qu'à chaque fois que je qualifie un nouveau lien, il "apprend", c'est-à-dire qu'il va générer un fichier ('code.txt') qui permettra à l'avenir, à chaque fois qu'un lien de ce type reviendra, de faire apparaître dans le menu déroulant la catégorie correspondante.

  6. #6
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Donc tu cherches à faire un cache en somme ?

    Si c'est juste pour se "souvenir" de la qualification d'un domaine, tu peux t'en sortir avec des enregistrements en base simples.

    Si tu veux enregistrer des comportements pour que ton algorithme s'enrichisse. Tu devrais regarder du coté des patron de comportement comme Strategy ou Chain of Responsibility et mettre en cache les objets de strategy ou de la chaine.

    Quoi qu'il en soit, la méthode de construction statique de l'algorithme est une mauvaise idée.

Discussions similaires

  1. CSS pour insérer du code dans un forum
    Par GreatDeveloperOnizuka dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 13/10/2012, 03h57
  2. [PHP 5.3] Insérer du code dans une balise SPAN via un include
    Par beegees dans le forum Langage
    Réponses: 0
    Dernier message: 05/10/2010, 11h25
  3. Code pour insérer plusieurs valeurs dans une cellule
    Par azerty1956 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/03/2009, 14h09
  4. comment faire pour insérer du code HTML dans un textarea ?
    Par hicham285 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 18/05/2008, 04h35
  5. Aide pour insérer une frame dans un include
    Par ideal dans le forum Langage
    Réponses: 5
    Dernier message: 09/08/2006, 12h05

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