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 :

[Système] Problème includes (niveau ultra basique)


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut [Système] Problème includes (niveau ultra basique)
    Bonjour,

    Je tente désespérément de faire un petit site (voir mes messages précédents) depuis un bon moment. Sur les conseils de certains je me suis orientée vers l'utilisation des includes PHP.

    J'ai fait quelques essais encourageants mais je suis stoppée par certaines chose à mon avis très basique et sûrement simple à résoudre.

    Ma page d'accueil contient 3 includes, voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <html> 
    <head> 
    <title>Index</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
    </head> 
    <body> 
    <?php include "frame_haut.php"; ?> 
    <?php include "frame_centre.php"; ?> 
    <?php include "frame_bas.php"; ?> 
    <p>&nbsp; 
    </body> 
    </html>
    Je précise que les dénominations "frame_..." ne sont pas vraiment des frames, juste des appellations (c'est que j'avais tenté le truc par Frames auparavant).

    Le problème est que les pages n'apparaissent pas les unes en-dessous des autres : frame_bas apparaît en haut par exemple alors que je souhaitait que frame_haut apparaisse en haut, frame_centre au centre et frame_bas en bas.
    Y aurait-il des codes à rajouter ou ai-je mal placé mes includes ?

    D'autre part, les liens qui sont à l'intérieur de chacune de ces 3 pages ne sont pas forcément actifs, par exemple le lien de frame_bas était actif, alors que celui de frame_haut ne fonctionne pas sur la page d'accueil contenant les 3 includes. Pourtant les 2 liens fonctionne si on teste les 2 pages séparément.. Y a t-il une syntaxe particulière pour les liens en PHP..?
    J'avais crée mes pages en HTML et les ai réenregistré en PHP sous Dreamweaver, peut être est-ce là l'origine du problème ..?

    Merci par avance pour vos conseils...

  2. #2
    Membre éclairé Avatar de JmL40
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 348
    Par défaut
    Bonjour,

    Essaye ca, ca devrait fonctionner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <html> 
    <head> 
    <title>Index</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
    </head> 
    <body> 
    <?php include("frame_haut.php"); ?> 
    <?php include("frame_centre.php"); ?> 
    <?php include("frame_bas.php"); ?> 
    <p>&nbsp; 
    </body> 
    </html>
    De plus, il faut que tu definisse tes zones d'affichage en utilisant la balise <div> par exemple. Je dis ca dans le cas ou tu ne l'a pas fait dans tes fichiers .php.

    La balise <div> permet diviser ta page en plusieurs zones, très pratique !

    Cordialement

  3. #3
    Membre éclairé Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Par défaut
    Effectivement il faut le faire comme l'a dit jml, include() est une fonction php.

    Si tu met du php dans ton code alors il faudra que tu mette l'extension .php à tes pages, sans cela ton code php ne vaudra pas un sous

    Si jamais tu vois un nom de fonction que tu pourrais utiliser, hésite pas à te rendre sur le site officiel de php : www.php.net

    Dedans, tu tape le nom de ce que tu recherche dans la barre de recherche et tu aura toutes les informations disponibles pour essayer de connaître la fonction et voir comment l'utiliser.

    Voilà, Bon courage

    Oublie pas de et de mettre le

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut
    Merci vraiment de m'avoir répondue !

    Ok je rajouterai les parenthèses.

    Concernant l'histoire des div, j'en ai mis dans les pages que j'appelle par include pour améliorer la présentation. Enfin, j'ai mis ça ou des tables, je ne sais plus, j'ai essayé les 2.
    Par contre JmL40, est-ce bien ça que tu appelles : "définir les zones d'affichage" ?

    En fait le truc c'est que je voudrais éviter d'utiliser des frames : c'est pourquoi j'essaie de passer par des includes (je ne connais pas gd chose au PHP je précise, et c'est un euphémisme ).

    J'ai mis l'extension à PHP en réenregistrant les pages en PHP sous Dreamweaver (je travaille sous Dreamweaver).

    mLk92 tu as tout à fait cerné mon état mental face à la construction de ce site :


  5. #5
    Membre éclairé Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Par défaut


    Effectivement, je pense que selon lui les zones d'affichage sont les balises <div></div>.

    Tu peux largement éviter les frames, tout dépend ce que tu as dans les fichiers que tu inclus, et leurs utilités.

    Par exemple, si c'est un fichier que tu va réutiliser dans beaucoup de page de ton site (comme un bas de page) alors ca peut etre utile.

    tu veux nous montrer ce que tu met dans tes frames ?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut
    Je voudrais bien vous montrer les frames mais je n'ai pas les codes sous la main (je suis au boulot) : je vous les mettrai ce soir en rentrant.

    En fait mes pages sont composées de :
    - 1 barre avec des liens en haut (image avec liens vers Contact, CV..) (ça correspond à frame_haut.php)
    - au centre : une image avec au-dessous des flèches qui permettent de faire défiler les images une à une (ça correspond à frame_centre.php)
    - en bas : 1 barre de navigation (image avec liens vers les rubriques où démos d'images qui seront des frame_centre.php) (ça correspond à frame_bas.php)

    C'est pourquoi je construisais la page avec 3 includes.

  7. #7
    Membre éclairé Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Par défaut
    Et chaque page dispose de 3 frame ou ce sont les mm frames pour toutes les pages ?

    Si ce sont les même, gardes les includes, sinon insert directement le code des frames dans le fichier normal

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut
    Chaque page est composée de ces 3 parties.
    La partie du haut reste la même, avec les mêmes liens, sur tout le site.

    La partie du centre restera sur le même schéma mais ne contiendra pas les même images selon les thématiques (thématiques définies dans la barre du bas).

    La barre du bas restera la même sur tout le site.

  9. #9
    Membre éclairé Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Par défaut
    Ok, dans ce cas, garde les includes, mais vérifie bien que les frames correspondent bien au niveau de l'affichage et du code html.

    C'est à dire qu'avec un code écris comme dans ton premier post, tes frame inclues ne doivent pas avoir de balise <head></head>, <html></html> et <body></body>, mais tout simplement des <div></div>.

    En bref vérifie que l'affichage se concorde bien entre chaque pages.

    Et ça devrait le faire

  10. #10
    Membre éclairé Avatar de JmL40
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 348
    Par défaut
    Re bonjour,

    Oui les zones d'affichages sont bien délimitées par les <div> ce qui correspond à ce que tu as fait, et à ce que CELL te conseille ...

    Tu vas y arriver, courage !

    CELL te conseille bien mieux que moi maintenant, je le remercie de prendre le relais .

    Cordialement

    ps: sur ce je reprend mon formulaire a 95 champs :s

  11. #11
    Membre éclairé Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Par défaut
    Citation Envoyé par JmL40
    Re bonjour,

    Oui les zones d'affichages sont bien délimitées par les <div> ce qui correspond à ce que tu as fait, et à ce que CELL te conseille ...

    Tu vas y arriver, courage !

    CELL te conseille bien mieux que moi maintenant, je le remercie de prendre le relais .

    Cordialement

    ps: sur ce je reprend mon formulaire a 95 champs :s

    C'est pas CELL mais mLk92 , mais là c'est surtout un bon courage à toi JmL !!!

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut
    Ah merci Mlk, je n'aurai jamais pensé seule à enlever les balises <head><body> etc.. !
    J'essaie tout de suite.

    JML, oui c'est moi CEL
    Merci et courage pour ton formulaire à 95 champs ! (j'aimerai pas m'y voir, même avec 2 champs )

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut
    Il y a un gros progrès puisque les 3 frames apparaissent désormais dans l'ordre sur la page d'accueil

    Par contre il y a tjrs un petit pb de lien, même si j'ai enlevé les balises à enlever, j'ai tout de même tenté de laisser les balises map, car les frames contiennent des images dont certaines parties sont cliquables..

    Voici les codes de frame_haut :

    [code=HTML]<div align="center"><img src="images/haut_pa.jpg" width="400" height="65" border="0" usemap="#Map" longdesc="images/haut_pa.jpg" /><map name="Map" id="Map">
    <area shape="rect" coords="316,18,391,42" href="index.php" />
    </map></div>

    > Sur la page d'accueil, le lien est bien actif

    Codes de frame_centre :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <div align="center"><img src="images/centre_pa.jpg" width="400" height="324" align="absmiddle" longdesc="images/centre_pa.jpg" /></div>
    <div align="center"><img src="images/fl_2.jpg" width="400" height="45" longdesc="images/fl_2.jpg" /></div>

    > Sur celle-ci pas de lien pour l'instant donc pas de pb

    Codes de frame_bas :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div align="center"><img src="images/bas_pa.jpg" width="400" height="91" border="0" align="top" usemap="#Map" longdesc="images/bas_pa.jpg" />
      <map name="Map" id="Map">
      <area shape="rect" coords="11,29,106,54" href="packaging_ysl.php" />
    </map>
    </div>

    > C'est là que ça se corse parce que le lien ne marche pas du tout. En fait c'est très étrange parce que sur la page d'accueil qui contient les 3 includes, il y a bien un lien sur frame_bas mais pas à l'endroit attendu, et pas vers la page attendue ! (mais vers la page index.php, vers laquelle pointait le lien de frame_haut)
    Dans frame_bas, "packaging_ysl.php" est une page qui doit remplacer fram_centre (et donc dans laquelle je vais encore mettre 3 includes pour pouvoir garder frame_haut et frame_bas si j'ai bien compris.. ).

    J'ai pourtant essayé de placer la balise MAP à divers endroits de la balise DIV dans frame_bas, mais ça n'a rien donné.

  14. #14
    Membre éclairé Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Par défaut
    Salut



    Essai de placer tes balises images faisant références aux balises Map, après leurs balise correspondante.

    voir l'exemple sur ce site: ici

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut
    Merci MLK, j'essaierai ce soir !

  16. #16
    Membre éclairé Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Par défaut
    Et je viens de voir une petite erreur dans tes deux frames bas et haut.

    Sur les deux, les images appel la map "#Map" donne leur un nom différent, c'est à mon avis pour cela que tu as des conflits.

    Quand tu fais des includes de pages, n'oublie pas que tu met interviendra dans le code de la page où tu as fait l'include, si tu fais un "View code source" de ta page (celle ou tu as fait les includes) tu y verra le code html de base + celui des includes

    Donc fais attention aux nom etc

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 15
    Par défaut
    Je suis parvenue à tout faire fonctionner en renommant les MAP

    Je suis ravie car ça faisait un moment que je galérais avec mes frames et je me disais le PHP je m'en sortirai jamais.
    En fait la technique des includes me paraît assez simple !
    Et puis j'ai pu revenir sur qque chose dont j'avais abandonné l'idée, ne parvenant pas à le faire en HTML : le fait de placer les flèches qui étaient sous l'image sous la barre de navigation du bas (je ne sais pas si je ss très claire ).

    Je suis vraiment ravie et je te remercie bcp MLK j'aurai encore pas mal galéré avant de trouver sans tes conseils

    J'aurai néanmoins une dernière petite question.. J'ai choisi de construire mes pages ainsi (exemple de la page d'accueil) :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <html>
    <head>
    <title>Index</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body>
    <?php include ("frame_haut.php"); ?>
    <div align="center"><img src="images/centre_pa.jpg" width="400" height="324" longdesc="images/centre_pa.jpg" /></div>
    <?php include ("frame_bas.php"); ?>
    <div align="center"><img src="images/fl_2.jpg" width="400" height="45" longdesc="images/fl_2.jpg" /></div>
    </body>
    </html>

    C'est à dire :
    > Include
    > Image (l'image)
    > Include
    > Image (avec liens relatifs à l'image du dessus - ce dont les flèches)

    Plutôt que
    > Include
    > Include
    > Include
    > Include

    Pensez-vous que du coup ce sera + long à charger que si je fais 4 includes ?

Discussions similaires

  1. [Eclipse CDT]problème au niveau des include
    Par snoop dans le forum Eclipse C & C++
    Réponses: 6
    Dernier message: 05/04/2009, 14h57
  2. Réponses: 4
    Dernier message: 21/06/2007, 14h12
  3. [Système] problème avec la fonction include()
    Par daemon2a dans le forum Langage
    Réponses: 4
    Dernier message: 10/05/2007, 11h02
  4. [Système] Problème lenteur include
    Par carmelaurel dans le forum Langage
    Réponses: 5
    Dernier message: 25/04/2007, 09h59

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