IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Probleme avec include


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 18
    Points : 11
    Points
    11
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <?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 ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php readfile($_SERVER['DOCUMENT_ROOT'].'/include/body/acces_rapide.html'); ?>

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    test fait mais pas de changement

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu saurais nous fournir de quoi reproduire le problème ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    C'est un truc de fou j'ai tout viré meme avec un mot cela ne marche pas.


    index.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="acces_rapide">blabla</div>
    Que du lourd

    et pour finir une feuille de style

    style.css

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    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.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    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 ????

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    sans BOM oui

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 18
    Points : 11
    Points
    11
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] probleme avec include
    Par Bigstef dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/12/2007, 21h42
  2. probleme avec include
    Par marcito dans le forum Langage
    Réponses: 3
    Dernier message: 24/07/2007, 11h13
  3. [JSP] problemes avec include d'un jsp dans un autre
    Par lcoder dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 27/10/2006, 11h19
  4. problem avec include
    Par wodel dans le forum MFC
    Réponses: 2
    Dernier message: 29/03/2006, 17h47
  5. probleme avec #include<Afxwin.h>
    Par d-a-v-e dans le forum MFC
    Réponses: 2
    Dernier message: 08/02/2006, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo