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 :

Pseudo frames : n'affiche pas certaines pages


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Pseudo frames : n'affiche pas certaines pages
    Bonjour,

    Je suis en train de créer un site regroupant diverses pages déjà crées antérieurement! j'utilise dreamweaver (le dernier).
    J'ai un menu horizontal, j'utilise un système de pseudo frames pour afficher les pages demandées en dessous.


    Donc mon problème c'est que pour afficher une page située dans un autre répertoire du serveur (par rapport à ma page index située à la racine du serveur) ça ne fonctionne pas ou partiellement. Par exemple quand il s'agit d'afficher la page index (située dans un sous dossier) d'une galleries photo (http://nashmxs.free.fr/partiephotos/) là ça me renvoie cette erreur :
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Warning: main(./include/common.inc.php) [function.main]: failed to open stream: No such file or directory in /mnt/121/sdb/a/b/nashmxs/partiephotos/index.php on line 29
    
    Warning: main() [function.include]: Failed opening './include/common.inc.php' for inclusion (include_path='/mnt/121/sdb/a/b/nashmxs/include:.:/usr/php4/lib/php') in /mnt/121/sdb/a/b/nashmxs/partiephotos/index.php on line 29
    
    Warning: main(./include/section_init.inc.php) [function.main]: failed to open stream: No such file or directory in /mnt/121/sdb/a/b/nashmxs/partiephotos/index.php on line 30
    
    Warning: main() [function.include]: Failed opening './include/section_init.inc.php' for inclusion (include_path='/mnt/121/sdb/a/b/nashmxs/include:.:/usr/php4/lib/php') in /mnt/121/sdb/a/b/nashmxs/partiephotos/index.php on line 30
    
    Fatal error: Call to undefined function: trigger_action() in /mnt/121/sdb/a/b/nashmxs/partiephotos/index.php on line 32


    Mon code marche très bien s'il s'agit d'afficher des pages à la racine du serveur.

    Merci d'avance pour vos réponses!
    Le site en question si vous voulez voir un peu ce que je cherches à faire :
    http://nashmxs.free.fr
    login : flo
    pass : floflo

  2. #2
    Membre éclairé Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Points : 779
    Points
    779
    Par défaut
    Hello,

    Dans ton script index.php a la ligne 29 et 30 tu dois chercher a atteindre les fichiers common.inc.php et section_init.inc.php avec une fonction include...

    Si index.php est a la racine, il s'attends a trouver les fichiers dans le sous dossier include...

    Bref il cherche les fichiers mais il ne les trouve pas...
    A toi de réussir a trouver le moyen qu'il puisse y accéder.

    Si comme je le suppose ton site a cette arborescence

    include
    -- common.inc.php
    -- section_init.inc.php
    partiephotos
    --- index.php

    Alors les appels a include devrait etre rédigé de cette manière dans le index.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    include(../include/common.inc.php);
    include(../include/section_init.inc.php);
    @+
    Cadou

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci mais En fait la structure de mon site est comme cela :

    index.php (menu avec bouton avec fonction include qui renvoie vers partiephotos/index.php). J'utilises les pseudoframes pour préserver mon menu à l'affichage des pages du site.

    partiephotos
    --- index.php
    --- include
    ------ common.inc.php
    ------ section_init.inc.php

    Si jamais je vais directement sur la page index.php (sans passer par l'index.php à la racine du site) dans le répertoire partie photos tout marche bien pour l'affichage des photos.

    si jamais je m'arrange pour mettre tous les fichiers à la racine du serveur ça marche, seulement je souhaite ne pas faire ça parce que sinon ça va être moins pratique pour gérer chaque partie du site.

  4. #4
    Membre éclairé Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Points : 779
    Points
    779
    Par défaut
    OK je vois le probleme.... Et je vois la solution mais cela ne va pas etre simple a expliquer.

    Disons que index.php a la racine est index1 et que partiephotos/index.php est index2

    Quand tu appelles index1, il prend pour partie de dire que tous les appels se font a partir de la racine, et si tu appelles index2 il part du principe que tous les appels se font depuis le répertoire partiephotos...

    Donc si tu appelles index2 depuis index1, il va partir du principe que tous les appels doivent etre fait depuis la racine (puisque l'appel initial vient de index1).

    Donc deux solutions.....
    Soit tu déplaces include un niveau plus haut, ce que je ne penses pas que tu souhaites faire....

    Soit tu te debrouille autrement, et là, ce sera de la bidouille. Par exemple quand tu appelles index2 depuix index1 tu peux essayer de voir si tu peux lui passer un paramètre en faisant un truc du style (dans le lien d'appel)

    partiephotos/index.php?call=1

    et effectuer une condition

    Ou alors tu peux vérifier les chemin d'abord :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if (is_file('./include/common.inc.php') {
    include('./include/common.inc.php');
    }
    elseif (is_file('./partiephotos/include/common.inc.php') {
    include('./partiephotos/include/common.inc.php');
    }
    else {
    echo "Houston on a un probleme";
    }
    Cependant certains te diront que ce n'est pas très clean... Mais au moins cela te dépannera surement. Disons que c'est plus un "pansement" qu'une solution que je te donne ici.

    @+
    PS : En theorie tu devrais avoir une variable globale qui définerait ton chemin d'appel...

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci bien
    Je testerais ça ce week end !

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

Discussions similaires

  1. [AJAX] IE n'affiche pas certains caractères
    Par BoZ-FlYos dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 16/05/2007, 08h52
  2. N'affiche pas la page index.php
    Par toddy_101 dans le forum Apache
    Réponses: 17
    Dernier message: 02/05/2007, 18h42
  3. Réponses: 1
    Dernier message: 08/02/2007, 22h37
  4. [EasyPHP] Local web n'affiche pas la page index.php
    Par pierrot10 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 15/08/2006, 16h21
  5. sans erreur, apache n'affiche pas la page
    Par dejiein dans le forum Apache
    Réponses: 1
    Dernier message: 01/08/2006, 18h28

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