Probleme avec les include()
Résolu
Plilippe
-
viketor -
viketor -
Bonjour,
j ai mis un include() avec dedans ma connexion a la base de données
probleme: quand je recharge la page apres avoir mis l include > ça me met un espace blanc tout en haut de mon site.
Pourquoi?
Et que faut'il faire?
merci
j ai mis un include() avec dedans ma connexion a la base de données
probleme: quand je recharge la page apres avoir mis l include > ça me met un espace blanc tout en haut de mon site.
Pourquoi?
Et que faut'il faire?
merci
A voir également:
- Probleme avec les include()
- PHP et les directives include() et require() - Forum PHP
- Question sur faille include et arborescence. ✓ - Forum Programmation
- PHP: fonction include et liens relatifs ✓ - Forum PHP
- Include un dossier DropBox dans une page web - Forum Webmastering
- Installer integrity check has failed common causes include incomplete download and damaged media ✓ - Forum Logiciels
31 réponses
Bonjour,
J'ai trouvé la solution à ce problème tout en gardant l'encodage en UTF-8. Vous pouvez voir ici : https://forum.hardware.fr/hfr/Programmation/PHP/elements-invisibles-include-sujet_128243_1.htm .
Pour résumer, il faut utiliser l'encodage UTF-8 (sans BOM) et non pas l'encodage UTF-8 (qui peut-être avec BOM). Les BOM étant des caractères à l'origine de ces espaces.
Cordialement.
J'ai trouvé la solution à ce problème tout en gardant l'encodage en UTF-8. Vous pouvez voir ici : https://forum.hardware.fr/hfr/Programmation/PHP/elements-invisibles-include-sujet_128243_1.htm .
Pour résumer, il faut utiliser l'encodage UTF-8 (sans BOM) et non pas l'encodage UTF-8 (qui peut-être avec BOM). Les BOM étant des caractères à l'origine de ces espaces.
Cordialement.
je précise que quan je n'utilise pas le include() et que je met directement le code de connexion dans la page, ça ne provoque pas cet espace vide tout en haut
Le fichier que tu inclu est il dans le même répertoire que la page avec "include()" ?
Es que ton fichier que tu inclu n'est pas vide ? ( oublie de sauvegarder ? )
Es que ton fichier que tu inclu n'est pas vide ? ( oublie de sauvegarder ? )
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
non c est bien dans le meme repertoire car ma conexion a la bdd se fait bien
du coup, pour compenser cet espace vide, je dois mettre pour compenser cet espace vide:
#page {
margin-top:-22px;
}
#page contient l ensemble du site
grace à ça mon site remonte d une ligne comme il faut
mais je compren pas pourkoi cet espace vide apparait quan on utilise le include() ...
du coup, pour compenser cet espace vide, je dois mettre pour compenser cet espace vide:
#page {
margin-top:-22px;
}
#page contient l ensemble du site
grace à ça mon site remonte d une ligne comme il faut
mais je compren pas pourkoi cet espace vide apparait quan on utilise le include() ...
Peut être un <br/> dans le fichier include ? ou <p> ?
Ou une erreur qui s'affiche de la même couleur que le fond ?
Enfin sa peut venir de plein de chose toute bête ^^
Ou une erreur qui s'affiche de la même couleur que le fond ?
Enfin sa peut venir de plein de chose toute bête ^^
j en sais rien mais façon j ai le meme espace vide quand jtuilise header()
alors que j ai pas fait d erreur.... :/
alors que j ai pas fait d erreur.... :/
oui j ai regardé mais je vois pas la solution
J'ai un fichier menu.inc.php :
<ul id="navigation">
<li><a href="#">lien</a></li>
<li><a href="#"">lien</a></li>
<li><a href="#"lien</a></li>
<li><a href="#"lien</a></li>
<li><a href="#">lien</a></li>
</ul>
Ce fichier je l'inclus sur toutes mes pages comme ça :
<div id="corps">
<?php
include ("menu.inc.php");
?>
</div>
et je precise que mon fichier css est :
#navigation {
width: 645px ;
height:33px;
list-style: none ;
padding: 0px ;
margin: 0px ;
}
#corps{
margin:0;
padding:0;
}
Et malgré ça, j ai toujours cette espace vide blanc de 12px entre la div #corps et le haut de mon menu !
Alors que si je met directement:
<div id="corps">
<ul id="navigation">
<li><a href="#">lien</a></li>
<li><a href="#"">lien</a></li>
<li><a href="#"lien</a></li>
<li><a href="#"lien</a></li>
<li><a href="#">lien</a></li>
</ul>
Et bien le menu "colle" bien a la #div corps !!
Donc ça vient du include() cet espace blanc de 12px mais je comprend pas pourkoi....
J'ai un fichier menu.inc.php :
<ul id="navigation">
<li><a href="#">lien</a></li>
<li><a href="#"">lien</a></li>
<li><a href="#"lien</a></li>
<li><a href="#"lien</a></li>
<li><a href="#">lien</a></li>
</ul>
Ce fichier je l'inclus sur toutes mes pages comme ça :
<div id="corps">
<?php
include ("menu.inc.php");
?>
</div>
et je precise que mon fichier css est :
#navigation {
width: 645px ;
height:33px;
list-style: none ;
padding: 0px ;
margin: 0px ;
}
#corps{
margin:0;
padding:0;
}
Et malgré ça, j ai toujours cette espace vide blanc de 12px entre la div #corps et le haut de mon menu !
Alors que si je met directement:
<div id="corps">
<ul id="navigation">
<li><a href="#">lien</a></li>
<li><a href="#"">lien</a></li>
<li><a href="#"lien</a></li>
<li><a href="#"lien</a></li>
<li><a href="#">lien</a></li>
</ul>
Et bien le menu "colle" bien a la #div corps !!
Donc ça vient du include() cet espace blanc de 12px mais je comprend pas pourkoi....
En fait j ai l impression que des qu on utilise les include()
alors il faut préciser dans l'élément qu on inclut
margin-top:-16px;
pour faire remonter l élément a sa bonne place dans le div parent...
ça doit etre une propriété par défaut de include() je vois pas d'autre explication
Si qqun a une autre explication, ça sera la bienvenue :)
alors il faut préciser dans l'élément qu on inclut
margin-top:-16px;
pour faire remonter l élément a sa bonne place dans le div parent...
ça doit etre une propriété par défaut de include() je vois pas d'autre explication
Si qqun a une autre explication, ça sera la bienvenue :)
ça doit etre une propriété par défaut de include() je vois pas d'autre explication
J'ai jamais u ce problème avec les include() donc sa viens surement pas de la ,,, ^^
J'ai jamais u ce problème avec les include() donc sa viens surement pas de la ,,, ^^
Pourtant je ne suis pas le seul à avoir ce probleme. Regarde ici stp
https://openclassrooms.com/forum/sujet/probleme-affichage-page-include-avec-ie6-91451
https://openclassrooms.com/forum/sujet/probleme-affichage-page-include-avec-ie6-91451
zizanie
A mon avis il a raison ,,, ^^ tu a essayé avec firefox ou un autre navigateur que ie ?
Le mieux est de faire une feuille de style spéciale pour IE6. :D
A mon avis il a raison ,,, ^^ tu a essayé avec firefox ou un autre navigateur que ie ?
j ai pas testé pour IE6 car moi ça marche deja pas dans mozilla 3.5 et pareil pour IE7 et IE8 !!
margin-top de 16 px par défaut direct dans les navigateurs récents
c est a ni rien comprendre
margin-top de 16 px par défaut direct dans les navigateurs récents
c est a ni rien comprendre
J'ai jamais eu de souci non plus avec les include() et pourtant j'en utilise pas mal...
Aurai tu un lien vers ton site à nous proposer ?
Aurai tu un lien vers ton site à nous proposer ?
Bonjour
Tu as probablement une ligne vide au début ou à la fin du fichier inclus, ce qui revient ajoute une ligne vide dans le HTML généré.
Tu as probablement une ligne vide au début ou à la fin du fichier inclus, ce qui revient ajoute une ligne vide dans le HTML généré.
le père
Le code
Affichera test test que sa soit en html ou en php donc sa ne peut pas venir d'un saut a la ligne ,,,
Et 16 px pour un saut a la ligne sa fait un peut beaucoup non ? ^^
Le code
test test
Affichera test test que sa soit en html ou en php donc sa ne peut pas venir d'un saut a la ligne ,,,
Et 16 px pour un saut a la ligne sa fait un peut beaucoup non ? ^^
J'esaie juste d inclure un menu avec include() dans une div
Mais ça me met une marge par defaut de 16px en haut
<div id="corps">
<?php
include("menu.php");
?>
menu.php
<div id="corps">
<ul id="navigation">
<li><a href="#">lien</a></li>
<li><a href="#"">lien</a></li>
<li><a href="#"lien</a></li>
<li><a href="#"lien</a></li>
<li><a href="#">lien</a></li>
</ul>
css
#navigation {
width: 645px ;
height:33px;
list-style: none ;
padding: 0px ;
margin: 0px ;
}
#navigation li {
display:inline;
float:left;
width:129px;
height:34px;
background: #4169e1 ;
color: #fff ;
margin-bottom: 1px ;
text-align:center;
font-family:Arial;
text-decoration:none ;
font-size:110%;
font-weight:bold;
}
#navigation li a {
float:left;
width:129px;
height:34px;
display: block ;
background:blue;
color: #fff ;
line-height:33px;
text-align: center ;
font-weight:bold;
}
#navigation li a:hover, #navigation li a:focus, #navigation li a:active{
background:navy;
text-decoration: underline ;
color:#FFF;
}
Mais ça me met une marge par defaut de 16px en haut
<div id="corps">
<?php
include("menu.php");
?>
menu.php
<div id="corps">
<ul id="navigation">
<li><a href="#">lien</a></li>
<li><a href="#"">lien</a></li>
<li><a href="#"lien</a></li>
<li><a href="#"lien</a></li>
<li><a href="#">lien</a></li>
</ul>
css
#navigation {
width: 645px ;
height:33px;
list-style: none ;
padding: 0px ;
margin: 0px ;
}
#navigation li {
display:inline;
float:left;
width:129px;
height:34px;
background: #4169e1 ;
color: #fff ;
margin-bottom: 1px ;
text-align:center;
font-family:Arial;
text-decoration:none ;
font-size:110%;
font-weight:bold;
}
#navigation li a {
float:left;
width:129px;
height:34px;
display: block ;
background:blue;
color: #fff ;
line-height:33px;
text-align: center ;
font-weight:bold;
}
#navigation li a:hover, #navigation li a:focus, #navigation li a:active{
background:navy;
text-decoration: underline ;
color:#FFF;
}