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 :

Comment appeler du code PHP par requête [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 60
    Points
    60
    Par défaut Comment appeler du code PHP par requête
    J'ai créé un blog en html et php (les cources php ne sont pas de moi, je suis pas encore assez bon ) et je voudrais créer une interface d'administration graphique pour mes articles, c'est à dire pouvoir les ajouter, editer ou supprimer sans passer par le bloc note, et je pense qu'il faut utiliser des requètes avec mySQL pour editer les enregistrements. J'ai déjà une base. Voila ce que j'ai déja fais, je vais essayer d'être précis:

    * Création d'une table articles dans la base
    *Création des champs id, titre, code et date dans cette table
    *code correspond au texte de mes articles, et j'y tape le code html et php
    *les requetes sont sur mes pages et doivent appeler ce code pour qu'il soit interpreté par le naviguateur.

    ==>Mon problème est que mon code php n'est pas interpreté quand il est appelé, le naviguateur affiche tout ce qui est en HTML sans problème et zappe tout le php. Les balises echo n'affichent pas le texte et les scripts de commentaires ne sont pas présents. Y'a til une solution pour que mon php soit interpreté ? Sinon si vous avez une meilleure solution pour pouvoir editer mes articles depuis le web dites le moi

    Merci de votre aide

  2. #2
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    On peut voir un de ces codes et la partie de la page de traitement qui inclue ce code?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 60
    Points
    60
    Par défaut
    Voici le code de la requete inclue dans les pages :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    <?php
    $db = mysql_connect("sql.free.fr","mickdu90","****");
    mysql_select_db("mickdu90_db",$db);
     
    $requete = "SELECT * FROM articles WHERE id=1";
    $result = mysql_query ($requete,$db);
    $article =mysql_fetch_object($result);
    mysql_free_result($result);
    ?>
     
     
    <?php echo $article->code ?>
     
    et voici le code inscrit dans ma base de données : 
     
    <P ALIGN="Center">
     
    		<A HREF="images/jpeg/franck3.jpg" target="_blank"><IMG SRC="images/jpeg/franck3.jpg" width=200 height=150 border=0>
    		</A> 
    		<A HREF="images/jpeg/franck2.jpg" target="_blank"><IMG SRC="images/jpeg/franck2.jpg" width=150 height=200 border=0>
    		</A>
    		<A HREF="images/jpeg/scoot.jpg" target="_blank"><IMG SRC="images/jpeg/scoot.jpg" width=200 height=150 border=0>
    		</A>
    <BR>
    <BR>
    		<FONT COLOR="White">
    		<b>
    		<?php
    		echo "Franck et son &eacute;pave";
    		?>
    		</b>
    <br>
    <br>
     
    		<?php
    		echo "Alors l&agrave;, il a vraiment la classe...avec tout son bel &eacute;quipement. Le probl&egrave;me, c'est qu'on dirait un motard, <br>
    		mais la moto...c'est un vieux scoot qui avance pas dans les mont&eacute;es mdr !!! En tout cas, <br>
    		on s'&eacute;clate trop quand on va se faire des balades &agrave; l'improviste jusqu'&agrave; Belfort, sous la pluie !!!";
    		?>
     
    <BR>
    <BR>
    		<I>
    		<?php
    		echo "Samedi 25 Mars 2006";
    		?>
    		</I>
    <BR>
    <BR>
     
    <TABLE border=0 BGCOLOR="Black" WIDTH=100% HEIGHT="40">
    <TR>
    <TD>
    <P ALIGN="Center">
    <?php
    $rep = 'commentaires/';
    require_once($rep.'config/fonctions.lib.php');
    ?> 
     
    <FONT SIZE="3" COLOR="FFCC66">
    [Commentaires : 
    </FONT>
     
    <?php
    commentaire('franck_scoot');
    ?>
    </P>
     
    </TD>
    </TR>
    </TABLE>
     
    	</P>

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Quand tu fais un echo, le code n'est jamais exécuté. Essaie avec eval().

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 60
    Points
    60
    Par défaut
    J'ai tapé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    eval (texte)
    ?>
    Et rien ne s'est affiché. Je sais pas si la syntaxe était la bonne mais en tout cas, je pense que tout ce qui se trouve entre <?php et ?> ne s'affiche pas.
    Car le code qui appelle une fonction qui affiche le nombre de commentaires d'un article ne s'affiche pas non plus

    A la limite le texte je peux ke laisser en html puisqu'il apparait dans ce cas, mais c'est surtout pour mes appels de fonction que ca pose problème ! Ou alors il faudrait que je trouve un moyen de sortir mes fonctions de la, et de les appler autrement mais c'est pas facile...

    Car je cherche aussi a afficher plusieurs pages d'article regrouppant chacune 5 articles maxi, et faire avancer mes articles automatiquement au fur et a mesure que j'en ajoute, mais faire des requetes en appelant le code n'est peut être pas la meilleure solution...

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Tu as essayé :
    :

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 60
    Points
    60
    Par défaut
    je vois pas trop comment j'utilise le code que tu m'as donné...tu peux me donner un exemple plus précis ? ou le placer exactement ?

    Par contre j'ai remarqué un truc. Etant donné que ma requete est placée entre les balises <?php et ?> , et que le code appelé possède lui aussi les balises <?php et ?> , si on mettait bout à bout tout le code ca donnerait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //début requète
    <?php
     
    //debut article
     
    <?php
    echo ("texte");
     
    //fin article
    ?>
     
    //fin requète
    ?>
    non ?

    J'ai essayé d'appeler juste un

    <?php
    include ("article.html")
    ?>

    et rien ne s'est affiché. Je suis certain que tout ce qui est entre les balises php ne s'affiche pas.

  8. #8
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    j'éspère que c'est pas le vrai mdp
    $db = mysql_connect("sql.free.fr","mickdu90","");

  9. #9
    Membre confirmé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Points : 575
    Points
    575
    Par défaut
    ya plusieurs pages dans tout le code que tu as mis?

    si c'est qu'une page, tu l'enregistre en .php et tu mets tout ton code en php, parce que tu ouvres tu fermes tes balises php, c'est pas top

    en faite je crois que c'est plusieurs pages
    mais ta requete t'es pas obligé de la reécrire à chaque fois
    tu utilises des sessions genre, dans la page après avoir fait ta requête, :
    $article[0] = $_SESSION['article'][0]

    un truc dans le genre..
    et pour la date utilise $date = date("d/m/Y ");
    au lieu de echo "Samedi 25 Mars 2006";
    car s'il faut que tu changes la date tous les jours dans ton code...
    alé op

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 60
    Points
    60
    Par défaut
    ah pu********** j'avais pas vu le mot de passe !!! J'arrive pas à le changer, j'ai pas accès à la page privileges sur free comment changer le mdp ?

    Et pour la session, comment et où l'utiliser ? Car je ne sais pas m'en servir...

    Voila le code exact d'une page contenant 5 articles avec les appels des 5 requetes...

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    <HTML>
    	<HEAD>
    		<TITLE>
    			Blog de mickdu90 - Rubrique mes amis
    		</TITLE>
     
     
    	</HEAD>
     
     
     
    <BODY VLINK="FFCC66" ALINK="FFCC66" LINK="FFCC66" BGCOLOR="Black"  style="background-image:url(images/fonds/fond.gif)">
     
    	<P ALIGN="Center">
     
     
    		<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0" WIDTH=100% HEIGHT=26%>
    			<TR>
    				<TH colspan=2 VALIGN="Center" HEIGHT="120">
     
    					<P ALIGN="Center">
     
    					<FONT SIZE="7" FACE="Impact" COLOR="Black">
    					<A HREF="index.php4">
    					<?php
    					echo "MICKDU90.FREE.FR";
    					?>
    					</A>
     
    					</P>
    				</TD>
    			</TR>
     
    			<TR>
    				<TH colspan=2>		
     
    					<P ALIGN="Center">
     
    					<B>
    					<FONT SIZE=5 COLOR="White">
     
    						<?php
    						echo "Mes amis" ;
    						?>
    					</B>
    					</FONT>
     
    					</P>
    				</TD>
    			</TR>
     
     
     
    	</P>
     
     
    			<TR>
    				<TD BGCOLOR="Black">
    </TD>
    <TD>
     
     
     
    <TABLE border=0 BGCOLOR="Black" WIDTH=100% HEIGHT="40">
    <TR>
     
     
     
    <TD>
     
    	<FONT COLOR="FFCC66">
    	<A HREF="blog.php4">Divers</A> | Mes amis | <A HREF="delire.php4">Mes d&eacute;lires</A>  |  <a HREF="choix.php4">R&eacute;serv&eacute; aux adultes</A>
    	</FONT>
    </TD>
     
    <TD>
    <P ALIGN="Right">
    <FONT COLOR="FFCC66">
    >Page 1< | <A HREF="amis2.php4">>Page 2<</A>
    </FONT>
    </P>
    </TD>
    </TR>
    </TABLE>
     
    <TR>
     
     
    <TD VALIGN="Top" BGCOLOR="Black" WIDTH="200">
     
     
     
    				<?php
    				include("favoris.html");
    				?>
     
    </TD>
    <TD>
     
    <BR>
     
    	<?php
    $db = mysql_connect("sql.free.fr","mickdu90","****");
    mysql_select_db("mickdu90_db",$db);
     
    $requete = "SELECT * FROM articles WHERE id=1";
    $result = mysql_query ($requete,$db);
    $article =mysql_fetch_object($result);
    mysql_free_result($result);
    ?>
     
     
    <?php echo $article->code ?> 
     
     
     
     
     
     
     
     
    <?php
    //requete2
    ?>
     
    <?php
    //requete3
    ?>
     
    <?php
    //requete4
    ?>
     
     
    <?php
    //requete5
    ?>
     
    <TABLE border=0 BGCOLOR="Black" WIDTH=100% HEIGHT="40">
    <TR>
    <TD>
    	<FONT COLOR="FFCC66">
    	<A HREF="blog.php4">Divers</A> | Mes amis | <A HREF="delire.php4">Mes d&eacute;lires</A>  |  <a HREF="choix.php4">R&eacute;serv&eacute; aux adultes</A>
    	</FONT>
    </TD>
     
    <TD>
    <P ALIGN="Right">
    <FONT COLOR="FFCC66">
    >Page 1< | <A HREF="amis2.php4">>Page 2<</A>
    </FONT>
    </P>
    </TD>
    </TR>
    </TABLE>
     
     
     
    				</TD>
    			</TR>
    		</TABLE>
    	</P>
     
     
    </BODY>
    </HTML>

  11. #11
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Attention avec eval()... Si tu l'appliques à tous les messages qui sont affichés, cela signifie que n'importe quel utilisateur ayant le droit d'envoyer un message dans la BDD aura le droit d'exécuter n'importe quel code PHP !

    Que souhaites-tu faire exactement : afficher le code PHP tel quel dans le navigateur ou bien interpréter ce code PHP et en afficher le résultat dans le navigateur ? Dans le 1° cas, applique simplement htmlentities() à ton champ. Dans le 2° cas, il ne s'agit pas d'une simple interface d'admin...

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 60
    Points
    60
    Par défaut
    Il était temps que le forum soit dispo !!! En tout cas en 2 jours j'ai suivi pas mal de tutoriels et je commence à comprendre comment contourner mon problème...le code php, je l'appellerai en dehor des requete, au moment de l'affichage du résultat. Ainsi je n'enverrai dans la base que le texte pur ! Mais un autre problème se pose, celui de l'envoi des images...

    J'arrive à uploader les images dans la base depuix mon interface, mais quand je veux les afficher par requète évidement elles apparaissent en données binaires...

    Jai passé pas mal de temps sur ce script qui fonctionne très bien seul pour afficher une image correctement :

    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
     
     
    <?php
     
     
        include ("config.php");
        $connection = mysql_connect($host, $user, $pass);
        $db         = mysql_select_db($database, $connection);
        $requete = "SELECT img_blob,img_type FROM images";
        $resultat = @mysql_query($requete);
        $donnees = @mysql_result($resultat,images.img_blob);
        $type = @mysql_result($resultat,0,images.img_type);
        header( "content-type: $type");
        echo $donnees;
    ?>
    J'appelle ensuite ce script depuis une balise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <img src  ..................>
    Mais je vois pas trop comment pouvoir sélectionner l'image correspondant à tel article et pas un autre...J'ai pensé à faire des jointures entre les tables, mais avec ce procedé j'arrive pas à décoder l'image.

    Quelqu'un a une idée ?

  13. #13
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 133
    Points : 113
    Points
    113
    Par défaut
    un conseil : ne met pas les images dans la base de données, contente toi d'uploader les images dans un dossier, et de stocker son src dans la base de données.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 60
    Points
    60
    Par défaut
    mais si je ne stocke pas les images dans ma base mysql, comment faire pour uploader les images directement depuis une interface graphique de ce type ?
    Car je concois un blog et il faut donc que l'image appelée corresponde à un article précis (le nom affecté à l'image dans la base est le même que celui de l'article et donc je les appelle en faisant une jointure entre les tables).



  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Avril 2006
    Messages : 86
    Points : 60
    Points
    60
    Par défaut
    Finalement il n'y a pas vraiment d'intérêt à appeler du code par requète...mieux vaut appeler du texte pur, et placer la requète entre les balises

    Le but était d'afficher du texte avec des fonds d'écran et une police et couleur bien spécifiées. Et bien avec le temps j'ai compris comment utiliser les requètes et placer le résultat entre les balises de mise en forme. Voilou !

    Sujet résolu...

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

Discussions similaires

  1. [2.x] Requête SQL et code php par symfony2
    Par ousyamani dans le forum Symfony
    Réponses: 5
    Dernier message: 20/01/2015, 18h22
  2. [POO] Comment appeler une page PHP sans iframe ?
    Par Stegue dans le forum Langage
    Réponses: 3
    Dernier message: 08/05/2007, 21h14
  3. Comment générer du code php?
    Par developper2006 dans le forum Langage
    Réponses: 2
    Dernier message: 10/04/2007, 09h42
  4. [Tableaux] Comment débogguer un code PHP
    Par DMboup dans le forum Langage
    Réponses: 19
    Dernier message: 28/03/2007, 12h44
  5. [JQUERY] Comment appeler une fonction php avec jquery
    Par popogendarme dans le forum jQuery
    Réponses: 1
    Dernier message: 20/03/2007, 16h07

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