[php et css] header et feuille css

Fermé
Nico - 29 mai 2006 à 15:48
 nico - 30 mai 2006 à 10:39
Bonjour,

Je realise un petit site en php et rencontre une difficulté surrement toute bete mais que je n'arrive pas a resoudre.
Je dispose d'une page haut.php chargé dans toutes les autres pages du site (include).

De nombreux header apparaissent dans le code de mes diverses pages,
et je sais qu'il ne faut pas mettre de code html avant cette fonction sous peine de bug...

Le pb c'est que je souhaiterais inclure une feuille de style css, que je lie dans une balise html , <head>
Ce - ci empeche donc le header de fonctionner correctement et ca plante: header already send by...

Si quelqu'un pouvait m'eclairer, merci d'avance :)
A voir également:

3 réponses

ollie314 Messages postés 145 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 26 octobre 2007 80
29 mai 2006 à 19:01
Bonjour,

Il existe une méthode pour court-circuiter ton problème. Il est relativement simple à mettre en place.

Dans le haut de ta page, avant d'envoyer une quelconque entête php, tu effectues tous les traitements et tu construit un message dans lequel tu place tout ce que tu veux ecrire sur ta page:
petit exemple:
<?php
$msg = "";
if($test)
{
....
$msg .= "<html><head>...</head>";
};
if(!$test2)
{
header('Location ...');
}
else
{
$msg .= " ..................";
...
}
...
?>

...

<?php
echo $msg;
?>

</html>

Voila, ceci te permet de afire tes redirection au fur et au mesur sans être ennuye par un quelconque envoi d'en tête puisque la totalité du message est envoyé d'un seul coup et après tous les traitements.

Le problème peut se posé quand tu inclus tes fichiers. Si tu construit un message dans le fichier inclus et que la fin de ce message est construite dans le fichier prinicpal. A ce moment là, tu peux déclarer ta variable message en global ce qui te permet de disposer de la variable dans tout tes scripts.

Voilà, j'espère avoir répondu à ta question.

Amicalement

Ollie314
0
Merci bc l'idée a l'air de collée :)
j'essaye ca demain matin , bonne soirée
0
Escuser moi de vous-rederanger mais cette solution ne marche pas,
Je dois pouvoir afficher du html (appeler ma feuille de style) avant l'appelle du header....

Merci quand meme de te donner du mal :)
0