Page 1 sur 2

Problème evec include

Posté : 16 janv. 2008, 12:28
par Wassim
Bonjour;
j'ai un problème avec la fonction include:
dans ma page je fait appel à mon menu en utilisant la fonction include de php ( include("menu.html");)
cela fonctionnait trés bien mais depuis quelques jours j'ai constaté qu'il ya des problèmes avec quelques pages(et non pas tous) qui utilisent ce code, en fait le problème arrive lorsque je modifie ces pages et je les upload sur le serveur.
sur mon pc (en local) je travaille avec EasyPHP 2 et tout va bien mais je ne sais pas ce qui arrive sur le serveur pourtant le meme code qui existe dans d'autres pages fonctionne trés bien et il n-y a aucun problème.
j'espere que vous avez compris mon pb
SVP aidez moi car je ne sais plus quoi faire.
Meeeeeeerci

Re: Problème evec include

Posté : 16 janv. 2008, 12:45
par Calimero
j'espere que vous avez compris mon pb
Bonjour,
Ben, non justement... C'est quoi le problème ? :?

Posté : 16 janv. 2008, 12:46
par Ryle
Je comprend bien ton problème, mais on a clairement pas assez d'éléments pour pouvoir te répondre.... qu'est ce qui se passe ? qu'est ce qui devrait se passer ? ta configuration locale est-elle différente de celle du serveur ? peux-tu nous donner un exemple de code (un qui fonctionne et un qui ne fonctionne pas) ? est-ce que ce ne serait pas simplement un problème de chemin ?

Posté : 16 janv. 2008, 16:09
par wassim
bon je vais vous décrire plus le probleme:
j'ai la ligne de code suivante:
j'ai un fichier qui s'appel "pere.php"; ce fichier contient entre autres la ligne de code suivante:
<? include ("menu.html"); ?>
qui fait appel au menu.
ce code marche trés bien sur mon PC (local) et la page affiche entre autre le menu mais lorsque je fait le transfert de la page "pere.php" sur mon serveur (distant) le menu ne s'affiche pas, sachant que la meme structure existe dans d'autres pages existants dans le meme repertoire que le fichier "pere.php" et "menu.html".
j'ai bien verifié le chemin, l'existence des fichiers....
Une remarque: ce probleme est survenu récement c'est à dire que tous marchai trés bien et ces derniers jours lorsque je modifie dans un fichier et je fait son upload il commence à galérer.
J'espere que le problème est maintenant claire mais je crois que la cause et la solution ne le sont pas.
Merci pour tous ce qui m'aident à resoudre ce pb.

Posté : 16 janv. 2008, 16:17
par Nagol
essayes <?php au lieu de <? des fois que ton provider ai décidé de mettre à jour leur config et de ne plus autoriser cette syntaxe.

Si c'est pas ça j'ai déja vu des problèmes de transfert ftp du à un transfert en mode ascii et non en mode binaire.

En espérant que ca t'aide.

Posté : 16 janv. 2008, 16:25
par wassim
Merci pour votre réponse.
j'ai essayé de faire ce qui vous m'avez dit mais rien ne change toujour le meme pb.
et c'est quooi ce pb de transfert ftp et comment puis-je échapper à ça.

Posté : 16 janv. 2008, 16:48
par Invité

Code : Tout sélectionner

<html> <head> <title>titre de la page</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <? $d=$_GET['domaine']; ?> <table width="100%" border="0"> <tr> <td colspan="2" align="center"><? include("entete.php"); ?></td> </tr> <tr> <td width="24%"><?php if ($d=='xxx') include("menu.html"); else if ($d=='yyyy') include('menu_yyyy.html'); ?></td> <td width="76%" colspan="2"> <?php include("zzzz.php"); ?> </td> </tr> </table> <table> <tr> <td><? include("lien.php"); ?></td> </tr> </table> </body> </html>
voila donc le code de ma page:
lorsque je l'ouvre avec le navigateur(FF ouIE);uniquement la page "zzzz.php" s'exécute c'est à dire que les autres pages ils ne les appels pas bien qu'il laisse un espace vide dans la partie où ils sont supposés s'afficher.
j'ai bien vérifier la variable $d.
:cry: :cry:

Posté : 16 janv. 2008, 17:42
par Ryle
Quand tu dis avoir vérifié la valeur de $d, tu l'as affiché et constaté qu'elle était bien égale à "xxx" ou "yyyy" au niveau de ton if/else ?

La déclaration de $d n'utilise pas la balise "<?php" mais le short tag.. est-elle bien exécuté ?

Posté : 16 janv. 2008, 21:02
par Invité
Quand tu dis avoir vérifié la valeur de $d, tu l'as affiché et constaté qu'elle était bien égale à "xxx" ou "yyyy" au niveau de ton if/else ?

La déclaration de $d n'utilise pas la balise "<?php" mais le short tag.. est-elle bien exécuté ?

en faite oui j'ai bien vérifié que $d est égale à ces valeurs.
pour l'utilisation de la balise <?php j'ai testé pour toutes les balises php et ça n'a pas marché sauf qu'ici j'ai pas mis <?php mais en réalité j'ai testé avec cette methode et c''est la meme chose; tjs pas de menu ni entete ni liens de piedde page!!!!!!!!!!!!
vraiment je n'arrive pas à comprendre ce qui se passe.

J'ai pensé au coté sécurité du serveur mais l'hebergeur m'a garantit que tout va bien et ne pas se faire des soucis de ce coté et que le pb c'est pas ça!!!
A titre d'information j'utulise le Apache 2 et PHP 5.2.4 sur un environnement Linux

Posté : 17 janv. 2008, 09:26
par titerm
Au début de ton script, commence par ajouter
<?php
error_reporting(E_ALL | E_STRICT);
?>
pour être sûr de voir les erreurs si jamais elle n'étaient pas affichées.
Tu peux aussi faire un echo getcwd() pour être sûr que lorsque tu fais ton include, le répertoire courant est bien celui dans lequel se trouve les fichiers que tu essais d'inclure.

Vérifie qu'aucune erreur n'est présente dans le source html de la page générée, elles ne sont parfois simplement pas affichées mais noyées le source.

Posté : 17 janv. 2008, 23:16
par Invité
ok je vais essayer ce que t'as dis, j'éspère que ça marchera.
Est ce que ça ne pourra pas etre un bug du serveur Apache ou peut etre de la version du PHP 5.2.4!!!
Merci

Posté : 18 janv. 2008, 09:19
par titerm
Bien sur, c'est certainement un bug coté apache ou php.
Tu devrais d'ailleurs le reporter de suite sur les sites bugs.net.php ou httpd.apache.org

Surtout tiens nous au courant...

Posté : 18 janv. 2008, 22:01
par wassim
est ce que ça peut etre un pb de CHMOD???!!!!!!
en faite ces fichiers n'ont pas de dt pour les users chmod 750.
est ce que je dois donner les droits en lecture pour les users (755)

Posté : 19 janv. 2008, 00:24
par Sékiltoyai
Euh, en l'occurence, si apache n'est pas owner ni group du fichier, il n'a pas les droits de lecture sur le fichier et n'a donc aucune chance de pouvoir le lire, et donc l'inclure…

Posté : 19 janv. 2008, 10:10
par Invité
Euh, en l'occurence, si apache n'est pas owner ni group du fichier, il n'a pas les droits de lecture sur le fichier et n'a donc aucune chance de pouvoir le lire, et donc l'inclure…
justement il a les droits d'accés pour le group puisque 770 don normalement il peut le le lire mais ce qui m'inquite de plus c'est que le meme fichier il lui fait include parfois et d'autres fois non!!!!!!!