bottom.php :
<?
echo constant('IN_INDEX');
if(!defined('IN_INDEX'))
{
exit('Vous ne pouvez pas ouvrir ce fichier.
');
}
else{
echo 'OK';
}
?>
Et bien sur l'erreur est "Vous ne pouvez pas ouvrir ce fichier"
Si je veux afficher la constante IN_INDEX dans la page bottom, il me dit ne pas la connaître...
audayls
Messages postés373Date d'inscriptionsamedi 9 juillet 2005StatutMembreDernière intervention11 août 2008 28 oct. 2006 à 23:50
"require_once(dirname($_SERVER[
'PHP_SELF'
]).
'/bottom.php?lang='
.
$lang_user
.
'&requete='.$requete);"
mais cela n'a pas de rapport avec un problème de constante - -"
audayls
Messages postés373Date d'inscriptionsamedi 9 juillet 2005StatutMembreDernière intervention11 août 2008 28 oct. 2006 à 19:32
Salut,
Tu as inclue le fichier "index.php" dans le fichier "bottom.php" (ou le contraire) ?
Car si tu utilises dans frames les pages ne communique pas entre elle... (sauf par le biais du javascript)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 29 oct. 2006 à 09:44
Hello,
require, include, require_once et cie peuvent inclure une page distante (cad sur un autre serveur), via, donc, un stream (http ici).
Mais :
si j'ai pageA sur serveur A
pageB sur serveur B
et que j'inclus pageA dans pageB, c'est serveurA qui interprête pageA, et pas serveurB. Donc, serveurA renvoie le HTML généré à serveurB.
Bref, une définition de fonction, variable, ou autre, dans pageA ne sera pas visible sur pageB.
Mais un echo fonctionnera.
Donc, ce qu'il se passe est normal, dès l'instant où tu utilises http:// (même si tu restes sur le même serveur; le fonctionnement sera le même dès que tu indiques qu'il s'agit d'une page distante...même si c'est faux...bref, c'est toi qui donne de mauvaises indications à PHP, là).
La solution d'Audayls fonctionnera.
Et, Audayls, cela a bien un rapport avec un problème de constante non définie, du coup ;-)