Se connecter avec
S'enregistrer | Connectez-vous

PHP - Donner la valeur d'un define à une variable

Dernière réponse : dans Programmation

Bonjour à tous,

Travaillant actuellement à l'élaboration d'un site dynamique en PHP, je suis confronté au problème suivant :
J'ai une fonction
  1. define(ESTMEMBRE, 'Vous êtes désormais membre du site');


J'aimerai que ma variable
  1. $message
prenne la valeur de "ESTMEMBRE" soit "Vous êtes désormais membre du site".
Pour cela j'ai écrit :
  1. $message = ESTMEMBRE;
mais évidemment lors d'un
  1. echo($message);
cela m'affiche : "ESTMEMBRE" au lieu de "Vous êtes désormais membre du site".
Pourriez-vous me guider afin de résoudre ce problème s'il vous plait ?

Désolé si je n'ai pas été très clair.

D'avance merci pour vos réponses,
Cordialement...
Lassé par la pub ? Créez un compte

Bonjour,

J'ai essayé la solution de RedSux mais sans succès, je n'obtiens aucun message.
Je ne peux mettre en oeuvre la solution de allstar27 étant donné que je ne peux faire
  1. echo ESTMEMBRE;
directement. Il faut que la variable $message prenne le contenu de ESTMEMBRE.

Cordialement...

Pekwy a dit :

Je ne peux mettre en oeuvre la solution de allstar27 étant donné que je ne peux faire
  1. echo ESTMEMBRE;
directement. Il faut que la variable $message prenne le contenu de ESTMEMBRE.


Pourtant allstar27 te donne à mon avis la bonne syntaxe: il faut effectivement que tu rajoutes des guillemets simples autour de 'ESTMEMBRE' dans l'initialisation de la constante:

define ('ESTMEMBRE', 'Vous êtes désormais membre du site');

Si tu rajoutes juste les guillemets, est-ce que ça fonctionne mieux?

Cordialement,

Oui, la solution proposée par allstar27 fonctionne, je l'utilise à beaucoup d'endroits dans mon site. Le problème est que je dois absolument utiliser la variable $message. En effet, selon le cas, la variable $message peut prendre les valeurs des constantes ESTMEMBRE, NESTPASMEMBRE...
De plus la variable $message est définie dans la page de code tandis que le echo $message est inscrit dans la page du template.

Quelqu'un aurait-il une autre idée ?

Pekwy a dit :

Pour cela j'ai écrit :
  1. $message = ESTMEMBRE;
mais évidemment lors d'un
  1. echo($message);
cela m'affiche : "ESTMEMBRE" au lieu de "Vous êtes désormais membre du site".


J'ai une question bête : tu es sûr de ne pas avoir écrit
  1. $message = 'ESTMEMBRE';
?

Bonjour

J'ai résolu mon problème,

Pour ceux que cela intéresse, il suffisait en fait, non pas de de faire $message = constant("ESTMEMBRE" ); comme RedSux le préconisait, mais de laisser $message = ESTMEMBRE et de faire echo constant($message);

Merci à vous pour votre aide, bonne continuation...
Lassé par la pub ? Créez un compte
Tom's guide dans le monde