Use of undefined constant

Résolu
cs_matters Messages postés 9 Date d'inscription dimanche 4 décembre 2005 Statut Membre Dernière intervention 17 février 2009 - 28 oct. 2006 à 17:10
cs_matters Messages postés 9 Date d'inscription dimanche 4 décembre 2005 Statut Membre Dernière intervention 17 février 2009 - 29 oct. 2006 à 12:32
Salut,
Voila mon problème est très simple mais je ne trouve pas la réponse...

Mon code

index.php:
<?php
define('IN_INDEX', 1, TRUE);
session_start();
$site_racine = 'http://127.0.0.1/php/';
$requete = 0;
require("usr/fonctions.php");
connect_bdd();

if(!session_is_registered("session_al"))
{
    $true_false = NULL;
    $lang_user = "fr";   
}
else{
    $true_false = "session=ok";
    $lang_user = $_SESSION['lang_user'];
   
    //On met à jour sa dernière visite.
    user_time();
    $requete++;
}
mysql_close();
?>

CODE HTML

<?
 require($site_racine.'bottom.php?lang='.$lang_user.'&requete='.$requete);
?>

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...

Merci de m'aider.

9 réponses

audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 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 - -"

For every choice, a consequence (Fable)
3
audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 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)

For every choice, a consequence (Fable)
0
cs_matters Messages postés 9 Date d'inscription dimanche 4 décembre 2005 Statut Membre Dernière intervention 17 février 2009
28 oct. 2006 à 22:48
J'ai inclus la page bottom.php dans index.php.
0
audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008
28 oct. 2006 à 23:07
Et si tu remplaces "define('IN_INDEX', 1, TRUE);" par "define('IN_INDEX', TRUE);" et "if(!defined('IN_INDEX'))" par "if (IN_INDEX !== TRUE)" ?

For every choice, a consequence (Fable)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_matters Messages postés 9 Date d'inscription dimanche 4 décembre 2005 Statut Membre Dernière intervention 17 février 2009
28 oct. 2006 à 23:15
Merci pour cette idée, mais ça marche toujours pas.
0
cs_matters Messages postés 9 Date d'inscription dimanche 4 décembre 2005 Statut Membre Dernière intervention 17 février 2009
28 oct. 2006 à 23:25
J'ai trouvé l'erreur, qui ne m'arrange pas du tout, mais bon:

Si je met $site_racine='http://127.0.0.1/php/'; ça marche pas.
Mais si je met $site_racine = '../php/'; la ça marche.

Si quelqu'un aurait une idée pour contourner le problème ?
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
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 ;-)
0
audayls Messages postés 373 Date d'inscription samedi 9 juillet 2005 Statut Membre Dernière intervention 11 août 2008
29 oct. 2006 à 10:02
"Et, Audayls, cela a bien un rapport avec un problème de constante non définie, du coup ;-)" Ah ben désolé autant pour moi

For every choice, a consequence (Fable)
0
cs_matters Messages postés 9 Date d'inscription dimanche 4 décembre 2005 Statut Membre Dernière intervention 17 février 2009
29 oct. 2006 à 12:32
Merci pour ces réponses...;-)
0
Rejoignez-nous