Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > CSS
CSS Forum d'entraide sur l'utilisation des feuilles de style CSS. Avant de poster : Cours CSS, FAQ CSS, Galerie CSS
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/11/2010, 16h59   #1
Invité de passage
 
Inscription : juillet 2010
Messages : 11
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 11
Points : 4
Points : 4
Par défaut Css et les images ne s'affichent pas via les include.

Bonjour à tous.

En plaçant tous mes includes dans la racine principale et dans un fichier index.php, tout s'affiche normalement. Ex:
Code :
1
2
3
4
5
6
7
<?php include('header.php'); ?>
<?php include('slideshow.php'); ?>
<?php include('menu.php'); ?>
<?php include('col_gauche.php'); ?>
<?php include('col_news.php'); ?>
<?php include('col_infos.php'); ?>
<?php include('footer.php'); ?>
C'est ok pour la page d'accueil et les deux pages secondaires de test.

Là où çà se gâte, c'est lorsque j'appelle les includes à partir d'un fichier .php qui est situé dans un sous répertoire. Ex:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php include('../header.php'); ?>
<?php include('../slideshow.php'); ?>
<?php include('../menu.php'); ?>
<?php include('../col_gauche.php'); ?>
				<div id="col_services">
					<div id="ent_construction"><br /><br />
						<p class="news_txt" >Cette page, comme plusieurs autres, est actuellement en construction. Revenez plus tard . . . </p>  
					</div>
					<div id="vert_services_spacer">
					</div>
					<div id="spacer_stitres">
					</div>
				</div>
			</div>
<?php include('../footer_services.php'); ?>
Les includes fonctionnent car je peux voir le texte de chaque section à l'écran.

Mon problème vient des deux fichiers css qui sont totalement ignorés et des images (celles dans les includes) qui ne s'affichent pas.

Comme je l'ai dit plus haut, quand tout est dans la racine principale, c'est le bonheur total !

Les deux fichiers css sont appelés dans le header.php que voici :
Code :
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
	<head>
		<title>Ville de Saint-Sylvestre: Accueil</title>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<meta http-equiv="content-language" content="fr" />
		<meta http-equiv="Content-Script-Type" content="text/javascript" />
		<meta name="language" content="fr-CA" />
		<meta name="copyright" content="© Municipalité de Saint-Sylvestre" />
 
		<link rel="stylesheet" type="text/css" href="g-css/sylvestre.css" />
		<link rel="stylesheet" type="text/css" href="g-css/menu.css" />
 
	</head>
 
	<body>
		<div id="blocs">
			<div id="bloc_entete">
				<div id="entete">
					<div id="taille_text"><img src="i-images/btn_tailletxt2.gif" border="0" usemap="#MapMap" />
					</div>
					<a class="ent_accueil" href="index.php">Accueil</a>
					<a class="ent_plan" href="k-construction/construction.php">Plan du site</a>
					<a class="ent_suggestions" href="mailto:munisylvestre@altanet.ca">Suggestions</a>
					<a class="ent_joindre" href="mailto:munisylvestre@altanet.ca">Nous joindre</a>
					<div id="logo"><img src="i-images/logo2.gif" border="0" />
					</div>
					<div id="date_jour">
						<a class="datej">
							<?php
								if (setlocale(LC_TIME, 'fr_FR') == '') {
									setlocale(LC_TIME, 'FRA');
									$format_jour = '%#d';
								} else {
									$format_jour = '%e';
								}
								echo ucfirst(strftime("%A, le $format_jour %B %Y, %R."));
							?>
						</a>
					</div>
					<span class="txt_gris_12" href="index.php">Recherche:</span>
					<div id="recherche"><input type="text" name="textfield" />
					</div>
				</div>
			</div>
Le code ci-dessus vous montre les liens relatifs via les balises "link" des fichiers css de même que quelques images qui sont dans un autre répertoire.

Pour l'instant, j'ai placé les includes appelés dans la racine principale mais lorsque ce problème sera résolu, ils seront déplacés dans un autre répertoire.

Les fichier appelants, qui constituent toutes les pages secondaires, seront dans des répertoires différents.

Je sais que quelqu'un saura me guider pour régler ce problème.

Merci à l'avance.
Drahcir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2010, 18h16   #2
Rédacteur/Modérateur
 
Homme Jérome Debray
Responsable de projet
Inscription : mai 2009
Messages : 627
Détails du profil
Informations personnelles :
Nom : Homme Jérome Debray
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Responsable de projet
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 627
Points : 3 064
Points : 3 064
Salut,

tu devrais utiliser le "/" au debut de la déclaration du chemin vers les feuilles de styles, comme il irait toujours chercher le fichier à partir de la racine de ton site et ce quelque soit l'endroit et le fichier où tu fais ton include

exemple (voir en gras et vert)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<head>
	<title>Ville de Saint-Sylvestre: Accueil</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta http-equiv="content-language" content="fr" />
	<meta http-equiv="Content-Script-Type" content="text/javascript" />
	<meta name="language" content="fr-CA" />
	<meta name="copyright" content="© Municipalité de Saint-Sylvestre" />
			
	<link rel="stylesheet" type="text/css" href="/g-css/sylvestre.css" />
	<link rel="stylesheet" type="text/css" href="/g-css/menu.css" />
 
</head>
cela devra bien fonctionner avec cet ajout

++
ornitho13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2010, 18h50   #3
Invité de passage
 
Inscription : juillet 2010
Messages : 11
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 11
Points : 4
Points : 4
Par défaut Surprise . . .

IL y a une bonne et deux mauvaises nouvelles.

Dans les pages secondaires rien n'a changé et donc, le problème reste entier. C'est l'une des mauvaises nouvelles.

L'autre mauvaise, quand tout est dans la racine principale, tous les css sont ignorés. La bonne, c'est que en plaçant un / devant le lien relatif d'une image elle continue de s'afficher.

On a quand même fait une bonne découverte.

L'informatique. . . quelle science oh combien précieuse mais si énigmatique parfois.

Merci encore pour le soutient.
Drahcir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2010, 19h04   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 787
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 787
Points : 35 638
Points : 35 638
Ce qui se passe, c'est que ce n'est pas PHP qui gère l'arborescence des ressource, mais la page générée en HTML et c'est donc à partir du script PHP principal que les chemins vont être décidés.
Donc si tu as un include appelé avec des URL relatives pour les images et que ces include sont appelés par des scripts n'étant pas au même niveau, les chemins seront différents.
D'où la suggestion d'ornitho13 de les référencer depuis la racine du site (le "/" initial) et non depuis le répertoire du fichier inclus.
__________________
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 JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2010, 20h17   #5
Invité de passage
 
Inscription : juillet 2010
Messages : 11
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 11
Points : 4
Points : 4
Par défaut Yes, çà fonctionne enfin ! ! !

J'ai finalement réussi en ajoutant ../ dans la balise link du header tout juste avant le lien url.

Il ne manquait en effet que ces deux petits points pour permettre de remonter à la racine des fichiers php.

Çà va me permettre maintenant de déplacer tous les fichiers php communs à toutes les pages secondaires dans un nouveau répertoire.

Merci à tous ceux qui m'ont mis sur la piste !
Drahcir est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h36.


 
 
 
 
Partenaires

Hébergement Web