Bonsoir,

Je tente de faire un site multi langues en php.

Pour cela j'ai créé deux fichiers simples :
fr-lang.php et en-lang.php ou sont définies mes constantes.

Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
define('LIEN_ACCUEIL', 'Accueil');
Dans mon index.php j'ai au tout debut de mon fichier un appel a :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<?
require("decide-lang.php");
?>
Ce fichier decide-lang.php est construit comme cela :
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
<?php
 
if (isset($HTTP_COOKIE_VARS['lang'])) {
    $lang = $HTTP_COOKIE_VARS['lang'];
} else {
    // si aucune langue n'est déclarée on tente de reconnaitre la langue par défaut du navigateur
    $lang = substr($HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'], 0, 2);
}
 
//script d'origine
if ($lang == 'fr') {           // si la langue est 'fr' (français) on inclut le fichier fr-lang.php
    include('fr-lang.php');
}
elseif ($lang == 'en') {      // si la langue est 'en' (anglais) on inclut le fichier en-lang.php
    include('en-lang.php');
}
else {
    include('fr-lang.php');
}
//fin du script d'origine
//définition de la durée du cookie (1 an)
$expire = 365 * 24 * 3600;
 
//enregistrement du cookie au nom de lang
setcookie("lang", $lang, time() + $expire);
?>
Et pour finir j'appel dans mon index.php mes constantes comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<?php echo LIEN_ACCUEIL; ?>
Seulement j'ai autant de NOTICE que de constantes :
Notice: Use of undefined constant LIEN_ACCUEIL - assumed 'LIEN_ACCUEIL' in C:\wamp\www\site\index.php on line 44
LIEN_ACCUEIL
Mes constantes sont donc non définies, mais je ne vois pas le problème :/

Si quelqu'un peut m'aider, je lui en serait très reconnaissant

Merci

EDIT : J'ai mis tous les fichiers au même niveau de hiérarchie dans mon dossier (a la racine de celui-ci).