Css et les images ne s'affichent pas via les include.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Css et les images ne s'affichent pas via les include.

Re: Css et les images ne s'affichent pas via les include.

par Drahcir » 23 nov. 2010, 18:21

Toutes les pages secondaires se retrouvent dans l'un des six répertoires correspondant au thème de chacun des onglets du menu principal.

Ainsi, toutes les pages secondaires du sous menu de l'accueil, se retrouvent dans le répertoire "a-accueil", ceux des services aux citoyens dans le répertoire "b-services" etc.

Comme il y aura plus de 60 pages, je ne veux pas retoucher le menu sur autant de pages chaque fois qu'il y aura un ajout ou une modification.

Pour l'instant je me sert du répertoire "k-construction" qui devrait montrer une page en construction et un message à cet effet. C'est en quelque sorte ma page test qui lorsqu'elle fonctionnera me permettra enfin de profiter pleinement de la navigation sur tout le site.

Depuis plusieurs jours je tourne en rond afin de trouver la solution.

Voici, ci-dessous,le code de la page "En construction" :

Code : Tout sélectionner

<?php include('../n-includes/header.php'); ?> <?php include('../n-includes/slideshow.php'); ?> <?php include('../n-includes/menu.php'); ?> <?php include('../n-includes/col_gauche.inc.html.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('../n-includes/footer_services.php'); ?>
Merci pour votre aide.

Re: Css et les images ne s'affichent pas via les include.

par Ryle » 23 nov. 2010, 00:16

Est-ce que tes pages secondaires sont dans le même dossier que ta page principale ?

Le chemin vers le fichier css doit être spécifié en fonction de la page qui est demandé au navigateur. Si tes fichiers secondaires sont dans un sous-dossier, pour qu'ils puissent ouvrir le css, ils devront remonter d'un répertoire, tandis que ta page principale ne devra pas le faire.

Tu dois donc ajuster les chemins vers le css en fonction de l'emplacement de tes pages...

Re: Css et les images ne s'affichent pas via les include.

par Invité » 22 nov. 2010, 21:26

Je joint une partie seulement du code car tout le code serait un peu lourd vu qu'il contient la navigation :
Voilà une partie du code Html retourné par le serveur, celle qui permet de voir les liens avec les fichiers Css :

Code : Tout sélectionner

<!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:[email protected]">Suggestions</a> <a class="ent_joindre" href="mailto:[email protected]">Nous joindre</a> <div id="logo"><img src="i-images/logo2.gif" border="0" /> </div> <div id="date_jour"> <a class="datej"> Lundi, le 22 novembre 2010, 14:20. </a> </div> <span class="txt_gris_12" href="index.php">Recherche:</span> <div id="recherche"><input type="text" name="textfield" /> </div> </div> </div> <div id="bloc_slideshow"> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="970" height="283" > <param name="movie" value="h-flash/slide_2_1024.swf" /> <param name="quality" value="high" /> <param name="wmode" value="transparent"> <embed src="h-flash/slide_2_1024.swf" quality="high" wmode="transparent" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="970" height="283" /> </object> </div> <div id="bloc_menu"> <span class="preload1"></span> <span class="preload2"></span> <ul id="nav"> <li class="top"><a href="index.php" id="btn-accueil" class="top_link"><span class="down">Accueil</span></a> <ul id="accueil" class="sub"> <li><a href="construction.php">Mot du maire</a></li> <li><a href="construction/construction.php">Armoiries et Logo</a></li> <li><a href="construction/construction.php">Histoire</a></li> <li><a href="construction/construction.php">Journal Entre les branches</a></li> </ul> </li>

Re: Css et les images ne s'affichent pas via les include.

par moogli » 22 nov. 2010, 20:55

Heu wé mais nan !

Ce qu'il faut regarder c'est le html fournit au navigateur c'est a dire celui que l'on voit en cliquant sur voir la source html dans le navigateur !

Cela permet de commencer le debuggage, car si la css n'est pas appelée c'est que soit elle est pas au bon endroit soit c'est le script et le chemin n'est pas bon !

@+

Re: Css et les images ne s'affichent pas via les include.

par Drahcir » 22 nov. 2010, 17:34

Tout est là dans le message d'origine.

Regardez dans le code qui suit la ligne libellée "Et finalement le code type qui traite une page secondaire :".

Toutes les pages secondaires ont le même problème. Elles affichent le texte mais pas les images et les css ne sont pas exécutés.

@ ++

Re: Css et les images ne s'affichent pas via les include.

par moogli » 22 nov. 2010, 16:15

Salut,

A quoi ressemble le source html d'une page defecteuse ?
@+

Css et les images ne s'affichent pas via les include.

par Drahcir » 22 nov. 2010, 16:04

Bonjour à tous.
Tous les "include" sont dans le répertoire n-includes.
Mon fichier index.php est dans la racine principale et se compose des lignes suivantes:

Code : Tout sélectionner

<?php include $_server['DOCUMENT_ROOT'] . ('n-includes/header.php'); ?> <?php include('n-includes/slideshow.php'); ?> <?php include('n-includes/menu.php'); ?> <?php include('n-includes/col_gauche.inc.html.php'); ?> <?php include('n-includes/col_news.php'); ?> <?php include('n-includes/col_infos.php'); ?> <?php include('n-includes/footer.inc.html.php'); ?>
Cette page d'accueil s'affiche parfaitement.
Le problème survient quand je tente de charger une page secondaire. Tout le texte s'affiche mais pas les images et les deux fichiers css ne sont pas exécutés.
Voici le code du header pour toutes les pages sans exception:

Code : Tout sélectionner

<!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/sylvestre.css" /> pour faire fonctionner les pages secondaires--> <link rel="stylesheet" type="text/css" href="g-css/menu.css" /> <!-- <link rel="stylesheet" type="text/css" href="../g-css/menu.css" /> idem . . . --> </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:[email protected]">Suggestions</a> <a class="ent_joindre" href="mailto:[email protected]">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>
Et finalement le code qui affiche une page secondaire :

Code : Tout sélectionner

<?php include('../n-includes/header.php'); ?> <?php include('../n-includes/slideshow.php'); ?> <?php include('../n-includes/menu.php'); ?> <?php include('../n-includes/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'); ?>
Si je modifie la balise link du header pour ajouter ../ en avant de g-css/sylvestre et de g-css/menu, tel qu'on peut le voir en commentaire dans le code du header ci-dessus, la page secondaire s'affiche parfaitement.
Par contre, index.php n'affichera plus les images et les fichiers css ne seront plus exécutés.
Voilà le hic. En modifiant l'un, l'autre devient problématique.

Merci à l'avance pour votre aide.