|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : novembre 2006 Messages : 189 ![]() |
Bonjour
Je saisi dans un formulaire : Code :
Mon problème : le code Php <?=$espace?>, issu de la saisie, est pris dans la balise <button> comme un littéral plutôt que d’être interprété. A titre de test, j’ai placé ce même code <img> directement dans une balise <button> : là, le code Php est bien interprété, la variable est bien remplacée par sa valeur. Ma question : comment effectuer la saisie pour que cette variable Php soit remplacée par sa valeur ? si c’est possible. Par avance merci de votre aide. Francois |
||
|
|
00
|
|
|
#2 | |||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 727 ![]() |
Salut
Que veux tu dire par "littéral" ? Qu'est-ce que tu obtiens exactement ? Citation:
Code :
Par ailleurs, fais un essai en faisant comme ceci pour voir : Code :
<img src="../<?php echo $espace; ?>/commun/symboleS/image1.jpg" />
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|||
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2006 Messages : 189 ![]() |
bonjour et merci de ta réponse.
Des éléments: - j'avais essayé <?php echo $espace; ?>, sans succès - la page concernée a bien une extension .php et pas .html - la variable $espace est bien initialisée, je l'ai vérifié Je parle de litteral car je retrouve dans le code source de la page (clic droit, ...) la saisie faire dans le formulaire lettre pour lettre, c'est à dire en particulier avec <?=$espace?> et non pas avec la valeur de la variable. Mon impression est que le formulaire a "critallisé" la saisie et la restitue telle que. Francois |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 808 ![]() |
Ta demande est loin d'être claire...
Entre autre, tu n'indiques pas ce que doit contenir ta variable $espace ni quel est le lien avec le formulaire... Ceci dit, peut-être est-ce dû à ta configuration et que tu as register_globals à on (ce qui est une erreur...) et que du coup $espace pourrait prendre la valeur de $_POST['espace'] au lieu de la valeur souhaitée ?
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#5 | ||
|
Nouveau Membre du Club
![]() Inscription : novembre 2006 Messages : 189 ![]() |
bonjour
Pour récapituler, j'ai des balises <button> dans une page Php. Dans une balise <button>, à l'emplacement où je place d'ordinaire le nom qui apparaitra sur le bouton, je met cette fois là une balise <img>. De cette manière, je fais apparaître une image sur le bouton plutôt qu'un libellé. Si je place directement dans le code de la balise <button>: Code :
A l'inverse, si je saisis ce même code de balise <img> dans un formulaire, écrit alors dans une table MySql, il n'est ensuite pas interprété à l'affichage de la page qui lit la table MySql et le récupère. C'est là où j'exprime l'idée que ce code est pris comme un littéral, cristallisé par la saisie. En espérant avoir été un peu plus clair. Francois |
||
|
|
00
|
|
|
#6 | |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 727 ![]() |
Citation:
Veux tu dire par là que tu saisirais ceci dans un champs de texte d'un formulaire : <img src="../<?=$espace?>/commun/symboleS/image1.jpg" /> Ensuite, cette chaine serait enregistrée dans la Bdd. Et pour finir, tu affiches le contenu de cette donnée en partant du principe que cette variable $espace serait interprétée. Est-ce cela ? (ci c'est ça, c'est normal que la variable ne soit pas interprétée).
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2006 Messages : 189 ![]() |
Oui, c'est tout à fait ça, la saisie va dans une table MySql; elle est lue plus tard et ce champ est utilisé dans une variable Php (dans une balise <button>, ...).
Ca m'intéresse évidement de savoir pourquoi ça n'est pas interprété et aussi de savoir s'il existe un moyen pour que l'interprétation fonctionne. Merci en tout cas de ta réponse. Francois |
|
|
00
|
|
|
#8 | |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 727 ![]() |
Citation:
Donc lorsque tu fais un echo pour l'afficher, ça va afficher cette chaine telle quelle est, y compris ces caractères <?=$espace?> sans aucune distinction. Il faut comprendre que c'est l'ensemble qui est une chaine, peu importe les caractères. Si, et de manière automatique et systématique Php venait à interpréter cette variable, ça serait un sacré gros problème, particulièrement pour ceux qui feraient des tutos sur du code Php, y compris ce forum et à cet instant. Il peut avoir 2 moyen assez différent de faire ceci. 1/ Soit tu fais en sorte de ne pas enregistrer dans cette chaine le nom de la variable, mais faire en sorte de récupérer la valeur quelle devra avoir. En gros, enregistrer ceci : <img src="../espace_truc/commun/symboleS/image1.jpg" /> 2/ S'il est impossible de prévoir la valeur quelle aura au moment où elle sera être affichée, alors il faudrait enregistrer juste le nom de l'image. Juste ceci : image1.jpg Ou alors pourquoi pas ceci : /commun/symboleS/image1.jpg (c'est la technique la plus utilisée à mon avis). Par la suite, la valeur de $espace étant connu au moment où cette image est affichée, et bien on récupère l'image dans la Bdd (le nom ou le chemin de cette image). Cette donnée sera alors contenu dans une variable ou un tableau. Admettons une variable -> $image. Puis faire comme ceci : Code :
<img src="../<?php echo $espace.$image; ?>" />
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
|
10
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : novembre 2006 Messages : 189 ![]() |
bonjour RunCode et merci d eta longue réponse très documentée.
Oui, ton diagnostic correspond parfaitement à ce que je constate, même si je ne l'exprimais pas forcément de manière claire. Pour la solution, je vais réfléchir au meilleur choix parmi les solutions que tu proposes. Ca n'est pas simple compte tenu de l'emploi que je fais de cette chaine. Je vais peut-être m'orienter vers la simplicité: plutôt que d'essayer de faciliter le travail de l'utilisateur du formulaire, avec cette variable, lui demander d'en saisir la valeur, quitte à risquer d'introduire une erreur de temps en temps. Mais j'ai maintenant avec tes conseils deux orientations intéressantes que je conserve. Merci encore de m'avoir éclairé autant pour la cause que pour la solution. Francois |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com