PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » [RESOLU] Warning constant() » 30-11-2018 08:43:06

Un grand merci pour ta fonction, je vais grandement améliorer mon code grâce à toi...

Pour le problème que je présentais ici, le soucis venait du fait que j'appelais ma constante :

$VarConst = MENU_.$IdPage._

Le moteur recherchait une constante :

MENU_

Celle-ci n'existait pas...

j'ai donc fait ceci :

$VarConst = "MENU_".$IdPage._

Voilà tout... Bref, encore quelques siècles et je devrais être au top tongue

Donc, j'ai trouvé mon où était mon problème (Pas tout seul, on m'a aidé), et la fonction que tu m'as fourni va me permettre d'optimiser mon code, encore merci! D'une pierre deux coups tongue

#2 Forum Général PHP » [RESOLU] Warning constant() » 30-11-2018 08:43:06

Godjojo
Réponses : 2

Bonjour à tous,

après avoir fouillé un peu partout sur le forum et sur le net, je n'arrive toujours pas à comprendre où est mon problème... Je m'explique:

J'ai un fichier Language.php qui recherche dans ma Bdd les traductions de mes noms de page et de mes titres de page. Ce fichier crée dynamiquement des constantes globales en fonction de la langue utilisée.

//on recherche si on a déjà quelque chose pour cette langue
$query_AllDetailsConstant = "SELECT * FROM `".$DiminutifBD."pages_details` WHERE Language= '". ucfirst($Language) ."' ";
$AllDetailsConstant = mysqli_query($connexion,$query_AllDetailsConstant) or die(mysqli_error($connexion));
$row_AllDetailsConstant = mysqli_fetch_assoc($AllDetailsConstant);
$totalRows_AllDetailsConstant = mysqli_num_rows($AllDetailsConstant);

do{
 
        define("MENU_".$row_AllDetailsConstant['IdPage']."_".strtoupper($row_AllDetailsConstant['Language']) ,$row_AllDetailsConstant['DenominationPage']);
 
  define("MENU_".$row_AllDetailsConstant['IdPage']."_TITLE_".strtoupper($row_AllDetailsConstant['Language']) ,$row_AllDetailsConstant['Title']);

 
}while($row_AllDetailsConstant = mysqli_fetch_assoc($AllDetailsConstant));
 

Ce fichier Language.php est inclus dans mon fichier Page.php. Ce fichier, Page.php, affiche les informations reprises dans ces constantes globales en fonction de l'ID de page reçu.

              $VarConst = MENU_.$IdPage._; echo "<H1>".constant($VarConst.$LangConstante)."</H1>";
        $VarConst = MENU_.$IdPage._TITLE_; echo "<H2>".constant($VarConst.$LangConstante)."</H2>";

 

Depuis le passage du serveur en Php 7.2, le message d'erreur suivant s'affiche:

Warning: Use of undefined constant MENU_ - assumed 'MENU_' (this will throw an Error in a future version of PHP)

Ma variable s'affiche néanmoins bien suite à ce message d'erreur. D'où mon incompréhension !?

J'ai trouvé pas mal de chose sur le net, mais cela n'a pas vraiment éclairé ma lanterne.

Si quelqu'un pouvait m'aider, ce serait bien sympa car je commence à m'arracher les cheveux tongue

Pied de page des forums

Propulsé par FluxBB