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

HTML Discussion :

substitution des frames


Sujet :

HTML

  1. #1
    Membre éclairé Avatar de souminet
    Inscrit en
    Novembre 2006
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 351
    Par défaut substitution des frames
    Bonjour à tous
    Voilà, je ne sais pas vraiment si le topic que je viens d'ouvrir correspond vraiment à cette section du forum...
    Je suis en train de concevoir une application Web, et je suis pour ainsi dire nouvelle dans le domaine, alors j'ai commencé tout d'abord par utiliser les frames pour faciliter la navigation ; cependant quand il fallut utiliser les variables dans PHP J'ai pris conscience que les frames n'étaient pas trés recommandés (Du moins c'est ce que l'ai lu) bref, maintenant je voudrais reproduire l'interface de mon application en utilisant des" include " et du css , le problème c'est que je n'arrive pas à reproduire le chevauchement des cadres initiaux ...
    Gràce aux Frames, mon interface se compose d'un menu Horizontal (En haut), d'un menu vertical (Coté gauche) et d'un espace au centre ... (Cadres supérieur et imbriqué à gauche) voilà le code de la page principale :

    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Gpm</title>
    </head>
     
    <frameset rows="186, 1*" cols="*" frameborder="no" border="0" framespacing="0">
      <frame src="menuframe-2.html" name="topframe" scrolling="no" noresize="noresize" id="topframe" title="menuhorizontal" />
      <frameset rows="*" cols="185, 1*" framespacing="0" frameborder="no" border="0">
        <frame src="menuvframe.html" name="leftframe" scrolling="no" noresize="noresize" id="leftframe" title="leftframe" />
        <frame src="gpm_interface.php" name="mainframe" id="mainframe" title="mainframe" />
      </frameset>
    </frameset>
    <noframes><body>
    </body>
    </noframes></html>
    Merci de m'aider, s'il vous plaît

    PS: J'ai joint une petite image pour donner un aperçu du résultat souhaité
    Images attachées Images attachées  

  2. #2
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    je vois pas trop le souci?

    au lieu d'avoir 1 page principale + 3 frames
    tu va avoir une page principale incluant les 3 pages en question
    donc il te suffit de faire la mise en page à l'identique dans ta page principale soit par des div + css soit par un tableau
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  3. #3
    Membre éclairé Avatar de souminet
    Inscrit en
    Novembre 2006
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 351
    Par défaut
    Citation Envoyé par Vil'Coyote Voir le message
    je vois pas trop le souci?

    au lieu d'avoir 1 page principale + 3 frames
    tu va avoir une page principale incluant les 3 pages en question
    donc il te suffit de faire la mise en page à l'identique dans ta page principale soit par des div + css soit par un tableau
    Merci de votre réponse;
    Je sais qu'il fallait utiliser les DIV et le css; j'ai essayé mais je n'arrive pas à reproduire la mise en page, les pages se chevauchent , est ce que quelqu'un pourrait me proposer une ébauche de code avec les div????

    merci

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 103
    Par défaut
    Bonjour,

    s il s agit seulement de la mise en page par DIV, voici un exemple (event. enlever barre de langage) - il y a un tutoriel aussi qui explique les propriétés CSS float en l occurrence -

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    	<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
    	<title>CompanyName - PageName</title>
     
    	<meta name="description" content="Description" />
    	<meta name="keywords" content="Keywords" />
     
    	<meta name="author" content="le site" />
     
    <style>
     
     
    html,body {
            height:100%;
            margin:0;
            padding:0;
            border:0;
    }
     
     
     
    #container {
            width: 760px;
            height: 100%;
            margin: auto;
            padding: 0;
            border: 0;
    }
     
    #header {
            background: red;
            height: 50px;
            margin: 0 auto;
    }
     
     
    #language_bar {
            background: yellow;
            height: 15px;
    }
     
    #wrap {
            background: blue;
            height: 100%;
    }
     
    #menu {
            float: left;
            background: white;
            width: 150px;
            height: 100%;
    }
     
     
    #content {
            background: orange;
            height: 100%;
    }
     
    #footer {
            clear: both;
            background: white;
            height: 50px;
            margin: 0 auto;
            border-top: 1px solid #000000;
    }
    </style>
     
     
    </head>
    <body>
     
    <div id="container">
    	<div id="header">
    		Le header
    	</div>
    	<div id="language_bar">
    		barre de langage
    	</div>
     
    	<div id="wrap">
     
    		<div id="menu">
    			Le menu
    		</div>
    		<div id="content">
    <BR>Le content
    		</div>
    	</div>
    	<div id="footer">
    		Le footer
    	</div>
    </div>
     
     
    </body>
    </html>

  5. #5
    Membre éclairé Avatar de souminet
    Inscrit en
    Novembre 2006
    Messages
    351
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 351
    Par défaut
    Merci j'ai réussi à le faire grâce au code de santaflam; maintenant j'ai un autre soucis , en fait Le div "Content" devrait contenir à haque fois une page différente via des includes , mais je n'arrive pas à reproduire cela.
    c'est à dire :
    qu'en cliquant sur le lien #1 le div "content" devrait afficher la page : page1.php
    en cliquant sur le lien #2 le div "content" devrait afficher la page : page2.php
    et ainsi de suite....
    par défaut en chargeant la page principale , j'affiche ce qui suit :
    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
    <div id="container">
    	<div id="header">
    		<?php include('menuframe-2.html');
    ?>
    </div>
      <div id="menu">
    			<?php include('menuvframe.html');
    ?>
    		</div>
    		<div id="content">
    <?php include('gpm_interface.php');
    ?>
    		</div>
    	<div id="footer">
    		Le footer
    	</div>
    </div>
     
     
    </body>
    Le lien est comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td width="105"><a href="gpm_parution.php" ><img src="images/publication.jpg" width="100" height="30" border="0"></a></td>
    Le problème est que la page sur laquelle pointe le lien s'affiche dans une fenêtre différente, et pas dans l'espace réservé par le div "Content"

    Merci

  6. #6
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    salut,
    tes liens devrais plutôt être du style :
    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
     
    <a href='tapageprincipale?choix=1'>lien1</a>
    <a href='tapageprincipale?choix=2'>lien2</a>
     
    et pour ton content : 
    		<div id="content">
                      <?php 
                           if(isset($_GET["choix"])
                           {
                               switch($_GET["choix"])
                               {
                                   case 1: include("mapage1.php");
                                                break;
                                   case 2 : .......
                                                 .......
                                   default : include("tapagepardéfaut.php")
                               }
                           }
                       ?>
    		</div>
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  7. #7
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 103
    Par défaut
    Je vois Souminet qu on a le meme probleme de fond: ouvrir un lien dans un DIV -J ai posté une discussion portant ce titre -le post est tout récent.
    Je me suis orienté sur du Javascript en cherchant sur le web - mais j ai lu aussi qu il existe des solutions PHP, AJAX etc ... J y connais rien a tout ca.
    Ma question:
    pourquoi du PHP et pas du Javascript?

    Mon but etant un site simple (html, css, qques images, sans gadgets ...) mais qu on puisse trouver par mots clefs sur des moteurs de recherche.

    Merci pour tout renseignement.
    Santa

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Juste pour info ...

    AJAX = Asynchronous Javascript And Xml


  9. #9
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    Citation Envoyé par santaflam Voir le message
    Je vois Souminet qu on a le meme probleme de fond: ouvrir un lien dans un DIV -J ai posté une discussion portant ce titre -le post est tout récent.
    Je me suis orienté sur du Javascript en cherchant sur le web - mais j ai lu aussi qu il existe des solutions PHP, AJAX etc ... J y connais rien a tout ca.
    Ma question:
    pourquoi du PHP et pas du Javascript?

    Mon but etant un site simple (html, css, qques images, sans gadgets ...) mais qu on puisse trouver par mots clefs sur des moteurs de recherche.

    Merci pour tout renseignement.
    Santa
    pourquoi du php?
    parce que dans le cas présent nous avons des pages différentes à charger, qu'il est plus simple d'utiliser php que javascript pour une personne ne le connaissant pas.

    et pour info un moteur de recherche fonctionne très bien avec des pages php le seul hic que ce soit des pages static (html) ou dynamique (php) réside dans le référencement de tes pages.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  10. #10
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 103
    Par défaut
    Citation Envoyé par Vil'Coyote Voir le message
    pourquoi du php?
    parce que dans le cas présent nous avons des pages différentes à charger, qu'il est plus simple d'utiliser php que javascript pour une personne ne le connaissant pas.
    Merci pour l aide!
    J essaie toujours de comprendre comment ca marche.
    On n écrit pas pas tout dans un seul fichier index.html quand meme?! Par conséquent on a toujours une nvelle page à charger, non ? Et donc c est ca qui justifie le choix de PHP ? Parce que, je commence a lire le sujet, et la premiere chose que je lis est que PHP sert en l occurence pour recuperer des infos/choix etc de l utilisateur...
    Or pour un simple lien, y a pas 36000 infos (le choix utilisateur c est le lien qu il clique), et ma question est comment l afficher dans la DIV content.
    D ailleurs a l' epoque ou on faisait des frames, on faisait simplement:
    ... href="la_nvelle_page.htm" target="le_nom_de_la_frame" ...

    C est ma vision de débutant ...
    Merci.

  11. #11
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    Citation Envoyé par santaflam Voir le message
    Merci pour l aide!
    J essaie toujours de comprendre comment ca marche.
    On n écrit pas pas tout dans un seul fichier index.html quand meme?! Par conséquent on a toujours une nvelle page à charger, non ? Et donc c est ca qui justifie le choix de PHP ? Parce que, je commence a lire le sujet, et la premiere chose que je lis est que PHP sert en l occurence pour recuperer des infos/choix etc de l utilisateur...
    Or pour un simple lien, y a pas 36000 infos (le choix utilisateur c est le lien qu il clique), et ma question est comment l afficher dans la DIV content.
    D ailleurs a l' epoque ou on faisait des frames, on faisait simplement:
    ... href="la_nvelle_page.htm" target="le_nom_de_la_frame" ...

    C est ma vision de débutant ...
    Merci.
    j'ai donné un exemple de code juste avant.
    les frame ne sont plus normalisées d'ou l'utilisation soit d'ajax soit d'include en php.

    la solution php, oblige à recharger ta page à chaque fois alors que ajax te permettrais de ne charger que la zone concernée.
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  12. #12
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 103
    Par défaut
    Citation Envoyé par Vil'Coyote Voir le message
    j'ai donné un exemple de code juste avant.
    les frame ne sont plus normalisées d'ou l'utilisation soit d'ajax soit d'include en php.

    la solution php, oblige à recharger ta page à chaque fois alors que ajax te permettrais de ne charger que la zone concernée.
    Ok merci! Mais pas question de recharger toute la page en html pur (avec menu et header) à chaque fois, parce que visuellement c est crade comme solution.
    Ajax, je suppose que c est KO si Javascript est désactivé dans le browser.
    Je vais me lancer dans le PHP...

Discussions similaires

  1. Centrer une page avec des frames
    Par Nicos77 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 10/11/2005, 14h07
  2. Centrer une page avec des frames
    Par Nicos77 dans le forum Langage
    Réponses: 11
    Dernier message: 09/11/2005, 16h52
  3. [XHTML][CSS] simuler des frames avec des div
    Par piwai dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 09/11/2005, 13h26
  4. Récupérer url d'une autre fenêtre contenant des frames
    Par coolhead dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/08/2005, 10h12
  5. appel dans des frames
    Par drizzt2511 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/01/2005, 09h40

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