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 :

Problème include


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 11
    Par défaut Problème include
    Bonsoir,

    Je réalise actuellement un site internet, et je n'ai pas de notions en php. En fait j'utilise PHP uniquement pour gérer les includes.
    L'include récupère le nom de la page et demande d'ouvrir 'page'.html .
    Mais j'aimerai rajouter dans mon include une ligne de code me permettant de dire , si la page est 'page2' alors ouvrir 'page2'.php (et non pas html, la est mon problème)

    Voila le bout de code auxquel il faudrait rajouter cette ligne j'imagine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(isset($_GET['menu']) && array_key_exists($_GET['menu'],$pages))
       		include $pages[$_GET['menu']].'.html';
    		else
       		include 'accueil.html';
    Ayant vraiment peu de notion en php, je ne vois pas comment tourner la chose au niveau de la synthaxe.

    Si j'ai mal formuler ma question n'hésiter pas à me corriger .

    Je vous remercie d'avance

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    if(isset($_GET['menu']) && array_key_exists($_GET['menu'],$pages)){
       		if($pages[$_GET['menu']]=="page2"){
                          include("page2.php");
                    }else
                    {
                    include $pages[$_GET['menu']].'.html';
                    }
    }
    		else
    {
                  include('accueil.html');
    }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 11
    Par défaut
    Merci beaucoup
    Ca marche nickel.


    Bonne soirée.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 11
    Par défaut
    Et bien en fait....non, ca ne marche pas, je me suis mélanger les pinceaux le coup d'avant, désolé.

    Le problème en fait c'est qu'il va directement à la page d'accueil, comme si il ne trouvait pas ma page php.

    Je met tout le code mon conteneur si ca peut aider :

    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
     
    <?php 
    		$pages=array(
    		'home'=>'accueil',
       		'association'=>'lassociation',
       		'horairetar'=>'horairetarif',
       		'contact'=>'contacts',
    		'planacces'=>'acces',
    		'presse'=>'presses',
    		'danse'=>'atedanse',
    		'musique'=>'atmusique',
    		'exposition'=>'atexpositions',
    		'cuisine'=>'atcuisine',
    		'sendfriend'=>'envoyerami',
    		'newsletter'=>'newsletters',
    		'mapsite'=>'plansite',
    		'partenaire'=>'partenaires',
    		'legal'=>'mentionslegales',
    		);
    		if(isset($_GET['menu']) && array_key_exists($_GET['menu'],$pages)){
       		if($pages[$_GET['menu']]=="galdanse"){
                    include ("galleriedanse.php");
                    }
    				else
                    {
                    include $pages[$_GET['menu']].'.html';
                    }
    }
    		else
    {
                  include('accueil.html');
    }
    		?>
    Et voila le lien qui est censé appeler la page php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="index.php?menu=galdanse">Voir les photos des cours</a></li>
    Désolé pour le dérangement

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 11
    Par défaut
    Et bien j'ai essayé de toucher un peu, mais sans résultat, alors si quelqu'un pouvait m'aider à voir pourquoi il ne me charge pas la page .php mais me charge directement la page d'accueil cela me serait d'une grande aide, ce problème m'empeche d'avancer et je suis très embeté

    PS: même si la page d'accueil s'affiche, l'adresse qui apparait dans le navigateur est bien 'index.php?menu=galdanse'.

    Tous les avis sont le bienvenue

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    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
    <?php 
    		$pages=array(
    		'home'=>'accueil',
       		'galdanse'=>'galleriedanse',
                     'association'=>'lassociation',
       		'horairetar'=>'horairetarif',
       		'contact'=>'contacts',
    		'planacces'=>'acces',
    		'presse'=>'presses',
    		'danse'=>'atedanse',
    		'musique'=>'atmusique',
    		'exposition'=>'atexpositions',
    		'cuisine'=>'atcuisine',
    		'sendfriend'=>'envoyerami',
    		'newsletter'=>'newsletters',
    		'mapsite'=>'plansite',
    		'partenaire'=>'partenaires',
    		'legal'=>'mentionslegales',
    		);
    		if(isset($_GET['menu']) && array_key_exists($_GET['menu'],$pages)){
       		if($pages[$_GET['menu']]=="galleriedanse"){
                    include ("galleriedanse.php");
                    }
    				else
                    {
                    include $pages[$_GET['menu']].'.html';
                    }
    }
    		else
    {
                  include('accueil.html');
    }
    		?>

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 11
    Par défaut
    En fait j'avais mit cette ligne au début, mais cela me sortait une erreur

    Warning: main(galleridanse.html): failed to open stream: No such file or directory in...
    Donc voila, en fait il ne vois pas galleridanse.php donc il tente de m'ouvrir galleridanse.html (qui n'existe pas).

    Du coup j'avais enlevé cette ligne mais sans succès.

    En fait le problème est bien qu'il ne veut pas voir galleridanse.php

  8. #8
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Alors deux petites choses:
    Tout d'abord tu as une erreur sur galleridanse au niveau de l'inclusion. Normalent c'est galleriedanse avec un e donc vérifie si c'est bien orthographié aussi dans ton code.

    Ensuite complete le code comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    if(isset($_GET['menu']) && array_key_exists($_GET['menu'],$pages)){
      echo 'Page : '.$pages[$_GET['menu']];
    ....
    et dis moi ce qui s'affiche donc quand tu tentes d'ouvrir la galleriedanse.


    Merci.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 11
    Par défaut
    Alors pour ce qui est de 'galleri' sans le 'e' c'est normal, ce n'est pas un oubli.

    J'ai bien rajouté la ligne que tu viens de me donner et il me donne comme résultat:

    Page : galleridanse
    Warning: main(galleridanse.html): failed to open stream: No such file or directory in i:\...\index.php on line 80

    Warning: main(): Failed opening 'galleridanse.html' for inclusion (include_path='.;I:/Program Files/EasyPHP1-8\php\pear\') in i:\...\index.php on line 80
    Voila voila, il prend bien les variables qu'on lui donne mais toujours pas de page php

  10. #10
    Membre chevronné Avatar de sohnic
    Femme Profil pro
    bioinfo
    Inscrit en
    Mai 2003
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : bioinfo

    Informations forums :
    Inscription : Mai 2003
    Messages : 428
    Par défaut
    Bonjour,
    Pourquoi tu ne mets pas directement le nom des fichiers à inclure dans ton tableau $page (donc avec l'extension adequate) ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $page=array(
    'page1'=>'page1.html',
    'page2'=>'page2.php',
    ...
    )
    Et tu reviens à ton code initial sans la concaténation avec le .html, et sans condition.

    Bon dev,

    Sohnic.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 11
    Par défaut
    J'ai testé ta solution est ca marche .

    Merci beaucoup à toi et à Raideman pour votre aide et votre patience.

    Bonne continuation et bonne journée

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

Discussions similaires

  1. Problème include avec différents répertoires
    Par 2berte dans le forum Langage
    Réponses: 1
    Dernier message: 15/05/2007, 23h56
  2. problème : problème include avec 2 Form (pitié !)
    Par antoile dans le forum VC++ .NET
    Réponses: 6
    Dernier message: 04/05/2007, 17h02
  3. Problème includes pas conformes et incomplets
    Par souviron34 dans le forum Dev-C++
    Réponses: 6
    Dernier message: 30/01/2007, 21h57
  4. [VC++] Problème include de header
    Par Yellowmat dans le forum MFC
    Réponses: 10
    Dernier message: 08/12/2005, 14h50
  5. problème include avec win 2003 / IIS6
    Par fredoche dans le forum ASP
    Réponses: 3
    Dernier message: 26/09/2005, 18h36

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