IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Warning constant après passage à PHP 7.2 [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Par défaut Warning constant après passage à PHP 7.2
    Bonjour à tous,

    n'ayant rien trouvé sur l'internet qui m'ait réellement aidé, je poste ici mon problème en espérant qu'une bonne âme éclaire ma lanterne

    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.

    Code php : 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
     
     
    //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.

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
                  $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 !?

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

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    Le souci vient de la création des constantes.
    En reprenant ton code, les noms de tes constantes ressemblent à MENU_IdPageFR,
    ensuite quand tu fais $VarConst = MENU_.$IdPage._;, le moteur cherche la valeur d'une première constante identifiée par MENU_ (qui n'existe pas car c'est MENU_IdPageFR) puis tu concatènes ton id page.
    Pour t'en convaincre, regarde defined()

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Par défaut
    Quel idiot Ca parait tellement évident... Un tout grand merci à toi pour ton aide...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Tri après passage en php 5.4
    Par genesia dans le forum PHP & Base de données
    Réponses: 26
    Dernier message: 21/04/2015, 22h57
  2. Réponses: 9
    Dernier message: 19/03/2015, 18h14
  3. Problème après "passage" en xhtml1.0
    Par Becafuel dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 16/12/2005, 14h19
  4. Réponses: 1
    Dernier message: 28/10/2005, 09h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo