8792 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Voilà je suis novice et j'ai un petit soucis avec php :

Voici un bout de code qui me pose problème:


<?php

print("
<table><td bgcolor=\"$color2\">couleur 2:<br/></td></table>
"); ?>



Vous l'aurez compris, j'utilise des couleurs qui seront variables.
Le problème c'est que une fois le code recompilé par php ça donne ce code html :


<table><td bgcolor="#FF81E9
">couleur 2:<br/></td></table>


Vous allez me dire que tout est normal?

Et bien sous firefox peut etre mais pas sous IE, ce qui se passe c'est que qu'en php remplace la variable par sa valeure, il fait un saut de ligne.
Or le fait qu'il y'a un saut de ligne à la fin du code hexadecimal :

="#FF81E9
">

sous cette forme, IE ne l'accepte pas et me met pas la bonne couleur. Que faire pour eviter que PHP fasse un retour a la ligne en remplaçant la variable par sa valeure?

Merci de vos réponse ! Smiley cligne
Modifié par Aurel69 (01 Sep 2006 - 12:13)
Administrateur
Bonjour et bienvenue Aurel69,

Aurel69 a écrit :
Que faire pour eviter que PHP fasse un retour a la ligne en remplaçant la variable par sa valeur?

remplacer une variable par sa valeur, c'est le but en programmation Smiley cligne mais si tu veux enlever espaces et retours chariots (et autres), tu peux utiliser trim (ou rtrim si le début de chaîne est bon).
Sinon j'ai la même question que daitheflu. La valeur est-elle lue dans un fichier ou une autre page web pour qu'il y ait ces caractères non-attendus?
Modifié par Felipe (01 Sep 2006 - 13:36)
Merci à tous pour vos réponses !

et bien voilà , en fait je me suis mi au XHTML et au PHP il y'a quelques semaines et j'ai décidé de créér un système permettant de modifier les proprietés CSS d'un site avec un simple formulaire à remplir/modifier par le naviguateur.

Cette couleur elle est donc lue directement dans un commentaire au début de la feuille de style ecrite par php.



<?php
$fp = fopen("test.css", "r");
$content = fread($fp,filesize("test.css"));
list(,$police, $taille, $color1, $color2, $color3, $color4) = explode("|", $content);
?>

là je recupere quelques proprieté css

Ensuite un forumlaire avec palette graphique va permettre à l'utilisateur de choisir d'autres couleurs, là pas de probleme. Simplement dans ma page je veux que les couleurs actuelles que j'ai recuperé dans la feuille de style s'affichent sous forme de vignette d'ou la creation de ce petit tableau à une cellule :




print("
<table><td bgcolor=\"$color2\">couleur 2:<br/></td></table>
"); ?>



et c'est la que au remplacement de la variable cré un retour à la ligne qui ne plait pas à IE.
Note : j'ai aucun espace dans le fichier ou je vais lire les données :

listée comme ça:



|Arial           
|12
|#FDE1FF
|#FF81E9
|#FF21D8
|#FF219E|


Le explode recupere les valeures entre les |
Modifié par Aurel69 (01 Sep 2006 - 14:15)
Et bien en tappant mon dernier message je me suis rendu compte de ma betise !!



|Arial           
|12
|#FDE1FF
|#FF81E9
|#FF21D8
|#FF219E|


Comme ca ça va toute de suite mieux :


|Arial|12|#FDE1FF|#FF81E9|#FF21D8|#FF219E|


Smiley biggrin

Merci pour vos conseils ! Et maintenant je vais pouvoir reprendre mon travail ! Smiley biggrin