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 :

Récupérer dans une page php deux contenus.php imbriqués


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Gizmil
    Profil pro
    Inscrit en
    Août 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 163
    Par défaut Récupérer dans une page php deux contenus.php imbriqués
    Salut,

    Voici un problème un peu épineux pour moi! Je m'y connais peu en php mais je l'utilise pour faire passer des variables dans mes pages et ainsi, simplifier la structure de mon site web.

    Le problème qui se présente est que j'aimerais, dans une page principale, ouvrir deux contenus issus de deux fichiers externes .php différents.

    Ces deux contenus sont imbriqués, c'est-à-dire qu'un premier contenu est appelé dans une page principale et que dans ce contenu est appelé un deuxième contenu.

    Concrètement, je crée un site de type "vitrine". Le contenu des pages principales [acceuil, infos, contact] sont toutes chargées dans la page body (donc le contenu de body.php change en fonction de la naviguation).

    Exemple, dans la page body.php, j'aimerais ouvrir :

    works_pages/works_s2_03.php

    et dans ce contenu, ouvrir :

    works_pages/images/section_02/foret/grands_formats/allee.jpg

    Pour faire appel à ces deux contenus, je fais passer deux variables dans mon url au niveau du body.php. Le problème, c'est qu'un seul des deux contenus est chargé (works_pages/works_s2_03.php).

    Le script php destiné à appeler works_pages/images/section_02/foret/grands_formats/allee.jpg se situe dans works_pages/works_s2_03.php et je me demande si ce n'est pas là que se situe le problème?

    Si vous avez compris mes explications XD, est-ce que vous pourriez m'aider à comprendre comment faire passer ma variable "works" au bon moment et au bon endroit? Voici les scripts de mes pages :

    contenu de body.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
    <!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>Site web de Laurent Nemeghaire, dessinateur</title>
    		<meta name="author" lang="fr" content="Laurent Nemeghaire">
    		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    		<meta name="robots" content="all">
    		<meta http-equiv="expires" content="mon, 31 dec 2007 01:00:00">
    		<meta http-equiv="Content-Style-Type" content="text/css" />
    		<meta http-equiv="Content-Language" content="fr" />
    		<meta name="description" content="Page d'accueil du site web de Laurent Nemeghaire, artiste dessinateur" />
    		<meta name="keywords" content="laurent, nemeghaire, art, artistique, dessin, graphisme, expression" />
    		<link rel="stylesheet" type="text/css" href="design.css" />
    		<script type="text/javascript" src="swfobject.js"></script>
    		<script> 
    			function popup() { 
    			window.open('formulaire.html', 'formulaire', 'height=420px,width=480px,top=100px,left=100px,resizable=no'); 
    			} 
    		</script>
    	</head>
    	<body>
    		<div class="bloc_contenu" id="body">
    			<div id="bloc_top"></div>
    			<?php
    				switch ($_GET["contenu"]) {
    					case "accueil" : include("accueil.php");break;
    					case "infos" : include("infos.php");break;
    					case "contact" : include("contact.php");break;
    					case "works_s1_01" : include("works_pages/works_s1_01.php");break;
    					case "works_s1_02" : include("works_pages/works_s1_02.php");break;
    					case "works_s2_01" : include("works_pages/works_s2_01.php");break;
    					case "works_s2_02" : include("works_pages/works_s2_02.php");break;
    					case "works_s2_03" : include("works_pages/works_s2_03.php");break;
    					case "works_s3_01" : include("works_pages/works_s3_01.php");break;
    					case "works_s3_02" : include("works_pages/works_s3_02.php");break;
    					case "works_s3_03" : include("works_pages/works_s3_03.php");break;
    				}
    			?>
    			<div id="bloc_menu">
    				<div id="mb_espace_gauche"></div>
    				<a id="mb_espace_accueil" href="body.php?a=8&contenu=accueil" alt="Accueil"></a>
    				<a id="mb_espace_infos" href="body.php?a=8&contenu=infos" alt="Informations"></a>
    				<a id="mb_espace_contact" href="body.php?a=8&contenu=contact" alt="Contact"></a>
    				<div id="mb_espace_droit"></div>
    			</div>
    		</div>
    	</body>
    </html>
    contenu de works_pages/works_s2_03.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
    <div class="en-tete" id="en-tete_travaux">
    	<a href="body.php?a=8&contenu=works_s2_03&work=work_s2_03_01" alt=""><img src="works_pages/images/section_02/foret/grands_formats/icone_allee.gif" alt="" /></a>
    	<a href="body.php?a=8&contenu=works_s2_03&work=work_s2_03_02" alt=""><img src="works_pages/images/section_02/foret/grands_formats/icone_aplats.gif" alt="" /></a>
    	<a href="body.php?a=8&contenu=works_s2_03&work=work_s2_03_03" alt=""><img src="works_pages/images/section_02/foret/grands_formats/icone_arriere.gif" alt="" /></a>
    	<a href="body.php?a=8&contenu=works_s2_03&work=work_s2_03_04" alt=""><img src="works_pages/images/section_02/foret/grands_formats/icone_avantg.gif" alt="" /></a>
    	<a href="body.php?a=8&contenu=works_s2_03&work=work_s2_03_05" alt=""><img src="works_pages/images/section_02/foret/grands_formats/icone_bords.gif" alt="" /></a>
    	<a href="body.php?a=8&contenu=works_s2_03&work=work_s2_03_06" alt=""><img src="works_pages/images/section_02/foret/grands_formats/icone_confusion.gif" alt="" /></a>
    	<a href="body.php?a=8&contenu=works_s2_03&work=work_s2_03_07" alt=""><img src="works_pages/images/section_02/foret/grands_formats/icone_division.gif" alt="" /></a>
    	<a href="body.php?a=8&contenu=works_s2_03&work=work_s2_03_08" alt=""><img src="works_pages/images/section_02/foret/grands_formats/icone_filant.gif" alt="" /></a>
    </div>
    <div id="espace3">
    	<?php
    		switch ($_GET["works"]) {
    			case "work_s2_03_01" : include("works_pages/images/section_02/foret/grands_formats/allee.jpg");break;
    			case "work_s2_03_02" : include("works_pages/images/section_02/foret/grands_formats/aplats.jpg");break;
    			case "work_s2_03_03" : include("works_pages/images/section_02/foret/grands_formats/arriere.jpg");break;
    			case "work_s2_03_04" : include("works_pages/images/section_02/foret/grands_formats/avantg.jpg");break;
    			case "work_s2_03_05" : include("works_pages/images/section_02/foret/grands_formats/bords.jpg");break;
    			case "work_s2_03_06" : include("works_pages/images/section_02/foret/grands_formats/confusion.jpg");break;
    			case "work_s2_03_07" : include("works_pages/images/section_02/foret/grands_formats/division.jpg");break;
    			case "work_s2_03_08" : include("works_pages/images/section_02/foret/grands_formats/filant.jpg");break;
    		}
    	?>
    </div>]
    Merci d'avance pour votre aide !! (-;

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 46
    Par défaut
    Salut,

    Tu peux simplement utiliser 2 include dans ton fichier php. Ainsi tu récupérera tes 2 contenus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    include_once ("page1.php");
    include_once ("page2.php");
    Par contre si tu souhaite récupérer juste une partie d'un fichier php mieux vaut créer une classe avec les différentes méthodes d'accès.

  3. #3
    Membre confirmé Avatar de Gizmil
    Profil pro
    Inscrit en
    Août 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 163
    Par défaut
    Merci mais je ne comprend pas ta solution !!

    Deux include dans body.php, c'est ce que tu veux dire ? Mais je ne pense pas que ça solutionne mon problème.

    Pour être sûr que ce que je veux faire soit clair, voici les pages concernées :

    http://www.lne-art.be/body.php?a=8&contenu=accueil

    Dans le menu qui se présente (en construction), lorsqu'on survole la première icône de gauche et qu'on clique ensuite sur le bouton "grands formats", on arrive sur une page avec des icônes représentant des oeuvres!

    J'aimerais qu'en cliquant sur ces icônes, l'image de l'oeuvre correspondante soit ouverte dans la page (càd dans body.php + works_s2_03.php)!

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 46
    Par défaut
    Donc si je comprends bien dans body.php tu clique sur une vignette et tu aimerais ouvrir au centre de la page cette même image en grand format mais en passant par un appel PHP et non avec le lien direct de l'image.

    C'est bien ça ?

    Petite question, ou déclare tu ta variable $_GET["works"] dans ta page works_pages/works_s2_03.php

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2008
    Messages : 46
    Par défaut
    Je viens de refaire un tour sur ton code et je pense que le problème viens de ta variable qui n'a pas le même nom entre l'Url et son utilisation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //works (avec un s)
    switch ($_GET["works"]) {
     
    //work (sans s)
    body.php?a=8&contenu=works_s2_03&work=work_s2_03_01

  6. #6
    Membre confirmé Avatar de Gizmil
    Profil pro
    Inscrit en
    Août 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 163
    Par défaut
    Aaaaah, comment ai-je pû louper ça ? Effectivement !! Là, je suis honteux !

    Ok, ben, effectivement, maintenant, l'appel s'effectue! Malheureusement, j'ai un retour d'erreur :

    Parse error: syntax error, unexpected T_STRING in /homez.194/lneart/www/works_pages/images/section_02/foret/grands_formats/allee.jpg on line 63

    Faut que je trouve quel est ce nouveau problème !!

    En tous cas, merci !

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

Discussions similaires

  1. Barre de défilement dans une page avec deux colonnes
    Par padouk dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 17/07/2012, 03h21
  2. Réponses: 12
    Dernier message: 22/06/2010, 11h09
  3. Réponses: 7
    Dernier message: 28/04/2009, 10h45
  4. [MySQL] Récupérer variable tpl dans une page PHP
    Par diabli73 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/09/2008, 10h12
  5. [Conception] connexion de deux bases de données dans une page en php
    Par leclone dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/04/2007, 14h59

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