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 :

[PHP-JS] ouverture d'une page PHP sans modification du menu


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Points : 93
    Points
    93
    Par défaut [PHP-JS] ouverture d'une page PHP sans modification du menu
    Bonjour,

    Voila la présentation de mon site : http://jnfontaine.free.fr.

    Je voudrai que lorsque je click sur un lien de mon menu (partie gauche), le contenu (partie droite) de mon site web charge une page PHP et que mon menu ne se recharge pas(c'est à dire que le menu reste identique et que seulement la partie droite de mon site change).

    Est-ce possible ? Si oui, comment faire ?


    Merci.

    Gailup.
    Gailup.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 46
    Points : 52
    Points
    52
    Par défaut
    c'est à dire comme içi: http://georges-boulon.univ-lyon1.fr/

    le 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
    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
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    <!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>.:Georges Boulon:.  Université-Lyon1 | Page Personnelle</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <meta name="description" content="La page personnelle de Georges Boulon, Professeur Université Claude Bernard LYON1, Laboratoire de Physico-Chimie des Matériaux Luminescents (LPCML). Unité Mixte de Recherche 5620 CNRS"/>
    <meta name="keywords" content="boulon, georges, professeur, universite, university, lyon, claude bernard, optique, optics, laser, cristaux laser, laser crystals, ions terre rare, rare earth ions, umr 5620 cnrs, materiaux luminescents, laboratoire"/>
    <meta name="robots" content="index, follow"/>
    <!-- Script Java pour le Menu -->
    <script type="text/javascript">
    window.onload=montre;
    function montre(id) {
    var d = document.getElementById(id);
        for (var i = 1; i<=10; i++) {
            if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
        }
    if (d) {d.style.display='block';}
    }
    </script>
    <!-- Feuille de style CSS -->
    <link href="styles.css" rel="stylesheet" type="text/css" />
    </head>
    <!-- fichier image de fond -->
    <body background="imagedefond.jpg">
    <?php 
    /* Cette page fonctionne sur le shéma:
    -titre
    -menu
    -contenu
    Chacun de ces éléments est contenu dans un bloc DIV dont la mise en forme est assurée pas une feuille de style CSS.
    Le langage Java est utilisé pour dynamiser coté client l'animation du menu.
    Le langage Php est utilisé pour dynamiser le choix de langue (fr ou en)
                           ET le choix de page html à inclure dans la partie contenu.
    
    */
    //on attribue une valeur passée dans l'url à la variable langue. Par défaut: fr
    if (!isset($_GET['lang'])) $lang='fr'; else $lang= $_GET['lang']; 
     
    //Titre - on affiche le titre et le drapeau en fonction de la langue.
    if ($lang=='fr') echo '<div class="titre">.:Georges Boulon:. Université-Claude Bernard Lyon1 | Page personnelle</div><div style="margin-left:20px;"><a href="index.php?lang=en"><img src="GB.gif" alt="en"/></a></div>'."\n";
    else echo '<div class="titre">.:Georges Boulon\'s Personal page:. Claude Bernard/Lyon1 University</div><div style="margin-left:20px;"><a href="index.php?lang=fr"><img src="FR.gif" alt="fr"/></a></div>'."\n";
    ?>
    <!-------------------------------------------------------------------------------->
    <!------------------------- Contenu de la page inclue ---------------------------->
    <!-------------------------------------------------------------------------------->
    <div class="contenu">
    <?php 
    //On intègre dans le bloc "contenu" une page html en fonction de la variable transmise par le Menu
    if (!isset($_GET['page'])) $nompage= 'accueil'; else $nompage= $_GET['page']; 
     switch($nompage)
    {
    case 'accueil': include ('accueil.html');break;
    case 'articles': include ('articles.html');break;
    case 'citations':include ('citations.html');break;
    case 'conference':include ('conference.html');break;
    case 'communiques':include ('communiques.html');break;
    case 'contact':include ('contact.html');break;
    case 'cooperation':include ('cooperation.html');break;
    case 'cooperationES':include ('cooperationES.html');break;
    case 'cv':include ('cv.html');break;
    case 'encadrement':include ('encadrement.html');break;
    case 'enseignement':include ('enseignement.html');break;
    case 'liens':include ('liens.html');break;
    case 'lieux':include ('lieux.html');break;  
    case 'livres':include ('livres.html');break;
    case 'service':include ('service.html');break;
    case 'themes':include ('themes.html');break;
    case 'ICL08lyon':include ('ICL08lyon.html');break;
    default : include ('accueil.html');
    } 
    ?>
    </div>
    <!--------------------------------------------------------->
    <!--------------------- Fin du contenu -------------------->
    <!--------------------------------------------------------->
     
    <!-- menu -->
    <dl id="menu">
    <?php    
    //On affiche le menu en français ou anglais
    //On remplace uniquement la valeur affichée du lien (accueil/home)
    //Si la langue est déjà 'En' on la maintient dans le lien
                if ($lang=='fr') echo '<dt <li><a href="index.php?page=accueil">Accueil</a></li></dt>'."\n";
              else echo '<dt <li><a href="index.php?page=accueil&lang=en">Home</a></li></dt>'."\n";?>
    <?php    if ($lang=='fr') echo '<dt onmouseover="javascript:montre(\'smenu1\');" onmouseout="javascript:montre();"><a href="#">Infos personnelles</a></dt>'."\n";
                else echo '<dt onmouseover="javascript:montre(\'smenu1\');" onmouseout="javascript:montre();"><a href="#">Personal info</a></dt>'."\n";?>
                <dd id="smenu1" onmouseover="javascript:montre('smenu1');" onmouseout="javascript:montre();">
                    <ul>
                        <?php    if ($lang=='fr') echo '<li><a href="index.php?page=contact">Contact</a></li>'."\n";                    
                                    else echo '<li><a href="index.php?page=contact&lang=en">Contact</a></li>'."\n";?>
                        <?php    if ($lang=='fr') echo '<li><a href="index.php?page=cv">CV</a></li>'."\n";
                                    else echo '<li><a href="index.php?page=cv&lang=en">CV</a></li>'."\n";?>
                    </ul>
                </dd>    
    <?php    if ($lang=='fr') echo '<dt <li><a href="index.php?page=enseignement">Enseignement</a></li></dt>'."\n";
                else echo '<dt <li><a href="index.php?page=Enseignement&lang=en">Teatching</a></li></dt>'."\n";?>
                </dd>
    <?php    if ($lang=='fr') echo '<dt onmouseover="javascript:montre(\'smenu3\');" onmouseout="javascript:montre();">Activité recherche</dt>'."\n";
                else echo '<dt onmouseover="javascript:montre(\'smenu3\');" onmouseout="javascript:montre();">Research activity</dt>'."\n";?>
                <dd id="smenu3" onmouseover="javascript:montre('smenu3');" onmouseout="javascript:montre();">
                    <ul>
                        <?php    if ($lang=='fr') echo '<li><a href="index.php?page=themes">Thèmes</a></li>'."\n";
                                    else echo '<li><a href="index.php?page=themes&lang=en">Topics</a></li>'."\n";?>    
                        <?php    if ($lang=='fr') echo '<li><a href="index.php?page=encadrement">Encadrement de thèses</a></li>'."\n";
                                    else echo '<li><a href="index.php?page=encadrement&lang=en">PhD Thesis directions</a></li>'."\n";?>    
                        <?php    if ($lang=='fr') echo '<li><a href="index.php?page=cooperation">Coopérations</a></li>'."\n";
                                    else echo '<li><a href="index.php?page=cooperation&lang=en">Co-operations</a></li>'."\n";?>
                    </ul>
                </dd>
    <?php    if ($lang=='fr') echo '<dt onmouseover="javascript:montre(\'smenu4\');" onmouseout="javascript:montre();">Publications</dt>'."\n";
                else echo '<dt onmouseover="javascript:montre(\'smenu4\');" onmouseout="javascript:montre();">Publications</dt>'."\n";?>
                <dd id="smenu4" onmouseover="javascript:montre('smenu4');" onmouseout="javascript:montre();">
                    <ul>
                        <?php    if ($lang=='fr') echo '<li><a href="index.php?page=articles">Articles</a></li>'."\n";
                                    else echo '<li><a href="index.php?page=articles&lang=en">Articles</a></li>'."\n";?>
                        <?php    if ($lang=='fr') echo '<li><a href="index.php?page=conference">Conférences invité</a></li>'."\n";
                                    else echo '<li><a href="index.php?page=conference&lang=en">Invited conferences</a></li>'."\n";?>
                        <?php    if ($lang=='fr') echo '<li><a href="index.php?page=livres">Livres</a></li>'."\n";
                                    else echo '<li><a href="index.php?page=livres&lang=en">Books</a></li>'."\n";?>
                        <?php    if ($lang=='fr') echo '<li><a href="index.php?page=citations">Citations</a></li>'."\n";
                                    else echo '<li><a href="index.php?page=citations&lang=en">Citations</a></li>'."\n";?>
                    </ul>
                </dd>
                        <?php    if ($lang=='fr') echo '<dt <li><a href="index.php?page=liens">Liens</a></li></dt>'."\n";
                                    else echo '<dt <li><a href="index.php?page=liens&lang=en">Links</a></li></dt>'."\n";?>
    </dl>
    <!-- date de Mise à jour -->
    <?php
    /* l'affichage sera : "Mis à jour le: 18/04/2006"
         ou en anglais: "Update on: April/18/2006"
         On affiche la date de modification du fichier le plus récement modifié du répertoire courant.
    */
    // Ouverture du répetoire courant
    $rep = opendir('./');
    // Parcours des fichiers et dossiers du répertoire courant
    while($file = readdir($rep)) {
        if($file != "." && $file != "..") {
          $modifdate[] = filemtime($file); //tableau des dates de modification des fichiers (non formatées)
       }
    }
    //fermeture du répertoire courant
    closedir($rep);
    //On affiche en fonction de la langue la date du fichier le plus récent(max) au format FR:"d/m/Y" ou EN:"F-d-Y"
    if ($lang=='fr')echo '<div style="margin-left: 2%; color:white;">Mis à jour le: '.date("d/m/Y",max($modifdate)).'</div>';
    else echo '<div style="margin-left: 2%; color:white;">Update on: '.date("F-d-Y",max($modifdate)).'</div>';
    ?>
    </body>
    </html>
    c'est commenté tu devrais comprendre et pouvoir adapter:
    -un index.php qui contient un div "contenu" dans lequel on inclu une page passée en parrametre dans l'url (index.php?page=accueil)
    Il y a un peu de Java pour dynamiser le menu.
    La feuille de style se trouve là: http://georges-boulon.univ-lyon1.fr/styles.css
    En espérant t'aider.
    Gaétan

  3. #3
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Citation Envoyé par gaetanc15
    Il y a un peu de Java pour dynamiser le menu.
    C'est du javascript... pas du java... .. .

    Par contre c'est un peu crade... .. .

    Pour l'inclusion de page tu les mets toutes dans un répertoire disont pages que tu protège avec un .htaccess en deny from all... ensuite au lieu de faire...

    Citation Envoyé par gaetanc15
    if (!isset($_GET['page'])) $nompage= 'accueil'; else $nompage= $_GET['page'];
    switch($nompage)
    {
    case 'accueil': include ('accueil.html');break;
    case 'articles': include ('articles.html');break;
    case 'citations':include ('citations.html');break;
    case 'conference':include ('conference.html');break;
    case 'communiques':include ('communiques.html');break;
    case 'contact':include ('contact.html');break;
    case 'cooperation':include ('cooperation.html');break;
    case 'cooperationES':include ('cooperationES.html');break;
    case 'cv':include ('cv.html');break;
    case 'encadrement':include ('encadrement.html');break;
    case 'enseignement':include ('enseignement.html');break;
    case 'liens':include ('liens.html');break;
    case 'lieux':include ('lieux.html');break;
    case 'livres':include ('livres.html');break;
    case 'service':include ('service.html');break;
    case 'themes':include ('themes.html');break;
    case 'ICL08lyon':include ('ICL08lyon.html');break;
    default : include ('accueil.html');
    }

    tu fais...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    $page = (isset($_GET['page'])) ? strip_tags($_GET['page']) : 'accueil';
     
    if(is_file('pages/'.$page.'.php'))
       include('pages/'.$page.'.php');
          elseif(is_file('pages/'.$page.'.html'))
            include('pages/'.$page.'.html');
              else
                include('pages/accueil.php');
    ensuite pareil pour le choix de la langue... autant le switch était pas trop utile pour l'inclusion que pour l'affichage du bon language ça serait pas du luxe (moins bordelique)... .. .

    @ tchaOo°

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 46
    Points : 52
    Points
    52
    Par défaut
    Merci pour les conseils, je vais voir plus tard pour .htaccess, une chose à la fois:je préfère faire en fonction de mes connaissances.
    Pour Java/Javascript... tout le monde aura compris.
    Gaétan

  5. #5
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Citation Envoyé par gaetanc15
    Merci pour les conseils, je vais voir plus tard pour .htaccess, une chose à la fois:je préfère faire en fonction de mes connaissances.
    Tu fais un fichier que tu appel .htaccess (avec le point) et dedans tu met "deny from all" tu le met dans le répertoire et tu essaye ensuite d'y aller via http://ton_url/ton_rep/... normalement tu te verra l'accès refusé... seule contrainte il faut que tu sois hébergé sous apache et que l'hébergeur autorise les htaccess (la plupart le font)... .. .

    @ tchaOo°

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Points : 93
    Points
    93
    Par défaut [resolu]
    Merci pour vos conseils.

    Vous pouvez allez-voir sur http://jnfontaine.free.fr
    Gailup.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Points : 93
    Points
    93
    Par défaut
    Maintenant je voudrai savoir si c possible de calculer la taille de la page que je vais inclure pour savoir si elle n'est pas plus grande que mon cadre.

    Merci.
    Gailup.

  8. #8
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Citation Envoyé par gailup
    Maintenant je voudrai savoir si c possible de calculer la taille de la page que je vais inclure pour savoir si elle n'est pas plus grande que mon cadre.

    Merci.

    Il n'y a pas de cadre... tu inclu une page dans une autre... c'est n'est pas une iframe... d'ailleurs regarde la source de ta page de test tu as un problème d'entête dédoublées (html, head, body...)... .. .

    @ tchaOo°

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 206
    Points : 93
    Points
    93
    Par défaut
    J'ai créé un cadre de 1500 pixels de haut.
    Si j'inclu une page par exemple de 2500 pixels de haut : les 1000 derniers pixels ne s'afficheron pas ? S'il ne s'afficheron pas comment faire pour calculer la taille qui permettrai de régler mon cadre ? Pareil si j'ai une page qui fait moins de 1500 px !
    Gailup.

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

Discussions similaires

  1. Ouverture d'une page php après un "else"
    Par NeiBaF dans le forum Langage
    Réponses: 4
    Dernier message: 07/09/2009, 10h32
  2. Réponses: 6
    Dernier message: 12/05/2009, 00h36
  3. [PHP-JS] Ouverture d'une page : _parent
    Par Séb-XL dans le forum Langage
    Réponses: 2
    Dernier message: 23/12/2007, 22h18
  4. Réponses: 8
    Dernier message: 13/07/2006, 10h04
  5. Réponses: 15
    Dernier message: 24/05/2006, 09h56

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