Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
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 13/01/2011, 17h03   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 18
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 18
Points : 2
Points : 2
Par défaut Probleme avec include

Bonjour

je suis débutant en conception web je souhaite faire mon site perso mais la j'ai un blocage un bug que je n'arrive pas a résoudre tout seul.

J'ai une page avec des div pour la structure et une feuille css pour la mise en page.
Jusque là tout va bien.

Maintenant je souhaite decouper mon code style le menu pour le sortir de la page index et l'appeller avec la fonction include

Je prend mon bloc <div id="menu"> </div>
je le met dans un fichier .php
et hop grace a la fonction
Code :
<?php require ($_SERVER['DOCUMENT_ROOT'].'/include/body/acces_rapide.php'); ?>
et la le drame ma mise en page se retrouve avec un espace entre mes blocs div alors que le code source est rigoureusement identique.

Cela ne vient pas de $_SERVER['DOCUMENT_ROOT'].'/include/body/acces_rapide.php'

car cela ne marche pas plus avec une adresse en dur http://www.monsite.com/include/body/acces_rapide.php

Cela ne vient pas non plus de mes DIV
Car que je copie mon bloc DIV en dur 5 fois dans ma page j'ai pas d'espace entre mes blocs (les 5 menu sont bien collés les uns aux autres)

par contre si je fais 5 include de mon menu les 5 bloc sont espacé par une ligne alors que la feuille de style et le code sont les meme.

En quoi le fait de passer par include peut il avoir un effet sur la mise en page css ?
megaup34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 17h29   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Déjà techniquement si tes pages ne contiennent pas de PHP, il n'y a pas lieu qu'elles portent l'extension .php et pas lieu d'utiliser include() : ca sollicite l'interpreteur php pour rien (même si son travail va être quasi nul)
Code :
<?php readfile($_SERVER['DOCUMENT_ROOT'].'/include/body/acces_rapide.html'); ?>
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 17h33   #3
Invité de passage
 
Inscription : janvier 2011
Messages : 18
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 18
Points : 2
Points : 2
test fait mais pas de changement
megaup34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 17h43   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu saurais nous fournir de quoi reproduire le problème ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 17h51   #5
Invité de passage
 
Inscription : janvier 2011
Messages : 18
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 18
Points : 2
Points : 2
C'est un truc de fou j'ai tout viré meme avec un mot cela ne marche pas.


index.php

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
<!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>Happyjob.biz</title>
 
 
	<link rel="stylesheet" type="text/css" href="/style.css" media="all" />
 
</head>
 
<body>
 
<?php require ($_SERVER['DOCUMENT_ROOT'].'/menu.html'); ?>
<?php require ($_SERVER['DOCUMENT_ROOT'].'/menu.html'); ?>
<?php require ($_SERVER['DOCUMENT_ROOT'].'/menu.html'); ?>
<?php require ($_SERVER['DOCUMENT_ROOT'].'/menu.html'); ?>
<?php require ($_SERVER['DOCUMENT_ROOT'].'/menu.html'); ?>
 
<div class="acces_rapide">blabla</div>
<div class="acces_rapide">blabla</div>
<div class="acces_rapide">blabla</div>
<div class="acces_rapide">blabla</div>
<div class="acces_rapide">blabla</div>
</body>
</html>

une page de fou

menu.html

Code :
<div class="acces_rapide">blabla</div>
Que du lourd

et pour finir une feuille de style

style.css

Code :
1
2
3
4
5
6
7
8
9
10
 
.acces_rapide {
	position: relative;
	top: 0;
	left: 0;
	margin: 0;
	padding: 0;
		background: transparent;
	border: 1px solid blue;
}

si le code est dans la page index les div sont collé s'ils sont importé par include ils sont séparé par une ligne vide alor que le code est bien le meme
megaup34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 20h00   #6
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Déjà le code source dans les deux cas n'est pas identique : dans le deuxieme cas, il y a des retours a la ligne.

Quand je copie-colle les lignes du premier cas, j'ai un caractère inconnu entre chaque inclusion.
Ca pourrait etre une mauvaise reconnaissance du BOM. Vérifie l'encodage de ton fichier inclus.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 20h34   #7
Invité de passage
 
Inscription : janvier 2011
Messages : 18
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 18
Points : 2
Points : 2
j'utilise notepad++

encodage UTF-8 pour les 3 fichiers

il ne m'affiche rien de différent (et normalement un retour a la ligne n'a pas d'effet)


Je comprend pas trop d'ou vient le probleme

effectivement il y a des carctere bizare des "?" avec chaque code inclu

mais je sais pas d'ou ils sortent ils sont pas dans mes fichiers sources

parcontre une fois la page généré effectivement il y a des trucs bizares mais je sais pas comment les supprimer car ils sont pas dans mes fichiers sources

Effectivement merci sabotage

Merci pour l'info DOM je viens de trouver cette explication grace a toi

http://electron-libre.fassnet.net/utf8.php


Si la page affiche des caractères de ce type : "�"
=> Les données ont été enregistrées au format ISO, et le navigateur les affiche en pensant avoir affaire à de l'UTF-8.


L'option dans notepad++ etait bien utf-8 mais j'avais fait un copier collé d'un autre fichier et cela ne converti pas automatiquement

Il faut appliquer une convertion qui n'est pas automatique.

Je trouve bizare que cela ne soit pas automatique (vu que l'on coche la case fichier en utf-8)


Parcontre comme je maitrsie pas bien

il propose convertion en UTF-8 ou UTF-8 sans DOM

Faut-il toujours utiliser UTF+8 sans DOM ????
megaup34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 21h03   #8
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
sans BOM oui
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 21h05   #9
Invité de passage
 
Inscription : janvier 2011
Messages : 18
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 18
Points : 2
Points : 2
Merci trop balaise j'aurais jamais trouvé car je débute et j'apprend tout seul.

Sujet résolu

du coup je met un nouveau post
megaup34 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 17h03.


 
 
 
 
Partenaires

Hébergement Web