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

PHP & Base de données Discussion :

PHP dans la BDD


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4
    Par défaut PHP dans la BDD
    Bonjour à tous, voilà mon pb :

    Je suis en train de développer un site genre CMS, les pages (articles) sont stockées dans la BDD directement en html.

    Pour des pages plus évoluées (php), c'est aussi du php que je met dans ma base.
    Mais lors de la récupération des enregistrements, aucun pb pour les pages basiques en html, mais les pages php ne fonctionnent pas, le php apparait en clair dans le code.

    Je ne sais pas d'où ça vient, donc si quelqu'un pouvait éclairer ma lanterne, ça serait cool.

    Merci d'avance.


    EXPLICATIONS :

    En début de page, je récup mon article :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $article=@$_GET['article'];
     
     
    $tab_article=array();
     
     if(isset($article))
    	$tab_article=recup_article($article);
    else
    	$tab_article=recup_article(1);
    Voilà ma fonction recup_article() :
    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
    function recup_article($id_article)
    {
    	$link=connect();
     
     
    	$req_article="SELECT * FROM Articles WHERE id=$id_article;";
    	$result_art=mysql_query($req_article);
    	$art=mysql_fetch_array($result_art);
     
    	$article = array();
    	$article['titre']=$art['titre'];
    	$article['texte']=$art['texte'];
    	$article['description']=$art['Meta_Description'];
    	$article['keywords']=$art['Meta_Keywords'];
     
    	mysql_close($link);
     
    	return $article;
    }

    Et donc dans ma page j'ai un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $tab_article['texte'];
    C'est ce texte qui contient du php.

  2. #2
    Membre émérite Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Par défaut
    bonjour,

    C'est normal, car tout ce qui est dans le echo donnera un retour html.

    Imagine dans ta base tu as un article du type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    echo 'hello world';
    ?>
    A son affichage c'est comme si tu écrivais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
     
    echo "<?php
    echo 'hello world';
    ?>";
     
    ?>
    ++

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4
    Par défaut
    OK dans l'hypothèse où ce serait du texte qui serait dans ma bdd. Mais il s'agit de tout un script. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	$req_mod="SELECT * FROM modules WHERE afficher=1;";
     
    	$mod=mysql_query($req_mod) or die("Erreur ".mysql_errno()." : ".mysql_error());
     
    	while($Rmod=mysql_fetch_array($mod))
    		include "modules/".$Rmod['nom']."/index.php";
    J'ai trouvé la fonction eval(). Est-ce qu'elle m'est utile dans ce cas là ?
    Je n'ai pas très bien saisi son fonctionnement : faut-il l'utiliser avant l'insertion dans la table ou après ?

  4. #4
    Membre émérite Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Par défaut
    En effet,

    Pour ton cas à première vu je ne vois que la fonction eval().

    Il faut l'utiliser bien entendu après.

    au lieu de:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $tab_article['texte'];
    ce sera:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eval($tab_article['texte']);
    Mais bon, si c'est du gros contenu, j'ai peur qu'il peut y avoir des erreurs, mais bon tu test et tu vois si cela fonctionne

    +

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4
    Par défaut
    arf, effectivement, ça ne passe pas ?

    Y'aurait-il une autre solution ?

  6. #6
    Membre émérite Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Par défaut
    Y'aurait-il une autre solution ?
    Laisser le code dans les fichiers

    Peut être que l'on pourra t'aider si tu nous dis l'intérêt de mettre ton code dans une base et pourquoi a tu besoin de procéder ainsi...

    ++

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4
    Par défaut
    Ben tous mes articles sont dans ma base, et certains d'entre-eux contiennent du PHP, comment les différencier si je créé des fichiers uniquement pour les scripts php ?

    Si j'ai voulu faire ça c'est pour créer automatiquement les menus :
    • j'ai ma table articles
    • une table catégories auxquelles appartiennent mes articles

    Et donc le menu est créé du style
    Catégorie 1
    Article1_Categorie1
    Article2_Categorie1
    Article3_Categorie1
    ...
    Categorie 2
    Article1_Categorie2
    Article2_Categorie2


    Voilà, du coup je sais pas trop comment organiser tout ça pour que ça fonctionne

  8. #8
    Membre émérite Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Par défaut
    Désolé mais je ne pige pas tout^^

    Tu souhaite créer des articles où certains ont du php à l'intérieur?

    Donc tes articles mélangent php, html et autres?

    J'ai testé la fonction eval() avec des codes simples dans une bdd et elle marche parfaitement...

    ++

Discussions similaires

  1. inscrire une date en PHP dans la BDD
    Par voyageurdumonde dans le forum Langage
    Réponses: 5
    Dernier message: 09/02/2013, 14h49
  2. problème d'utilisation d'image en PHP dans une bdd.
    Par BenGonGon dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/09/2011, 13h17
  3. Réponses: 8
    Dernier message: 04/07/2007, 12h51
  4. [MySQL] Execution de code PHP dans une BDD
    Par calenfeaion dans le forum PHP & Base de données
    Réponses: 19
    Dernier message: 30/06/2006, 13h34
  5. [PHP] parser puis integrer dans une BDD
    Par s3r3nity dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 20/12/2005, 15h33

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