Un echo qui se remplit seul si pas précisé

Un echo qui se remplit seul si pas précisé - PHP - Programmation

Marsh Posté le 21-11-2011 à 18:52:51    

Bonjour,
 
je cherche un moyen de remplir automatiquement l'echo suivant si je ne précise pas sa valeur dans une page :
 

Code :
  1. <meta name="keywords" content="<?php echo $page_keywords;?>" />


 
J'explique, si dans la page, il y a :
 

Code :
  1. <?php
  2. $page_keywords = 'Voici les mots-clé de ma page';
  3. include '......';
  4. ?>


 
Alors la balise meta prends cette valeur, par contre si j'ai ça :
 

Code :
  1. <?php
  2. include '......';
  3. ?>


 
Alors ma page prends une valeur par défaut comme ce qui suit sans que j'ai à écrire la variable.
 

Code :
  1. $page_keywords = 'Voici les mots-clé par défaut';


 
Ça a pour but de m'éviter d'avoir à écrire à chaque fois le $page_keywords pour les pages dont les mots clés n'ont pas d'importance, et en même temps de me permettre de modifier qu'une seule page si jamais je devais les modifier pour une raison XY.
 
J'ai eu l'idée de mettre un include dans ma $page_keywords, mais à priori, d'après ce que j'ai lu, c'est pas censé se faire ^^.
 
Pourriez vous m'aider s'il vous plait ?

Reply

Marsh Posté le 21-11-2011 à 18:52:51   

Reply

Marsh Posté le 21-11-2011 à 22:35:24    

Personne ?

Reply

Marsh Posté le 22-11-2011 à 09:37:21    

Un truc comme ca ? :o

Code :
  1. <?php echo (isSet ($page_keywords) ? $page_keywords : "" ); ?>


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 22-11-2011 à 18:21:38    

Pas tout à fait, parce que je voudrais que si la valeur du echo est nulle, alors une valeur par défaut est mise à la place.
 
Merci quand même ;)

Reply

Marsh Posté le 22-11-2011 à 18:55:16    

Mhh, je suis pas spécialiste mais pourquoi pas :
 
<meta name="keywords" content="<?php if ((isset($page_keywords)) && (!empty($page_keywords))) echo $page_keywords;  else echo 'tutu'; ?>" />
 
Ca devrait fonctionner mais c'est loin d'être élégant

Reply

Marsh Posté le 22-11-2011 à 19:05:54    

Effectivement, ça fonctionne nickel.
 
Pourquoi "c'est loin d'être élégant" ?
 
Merci beaucoup ;)

Reply

Marsh Posté le 22-11-2011 à 19:56:51    

nheavy a écrit :

Pas tout à fait, parce que je voudrais que si la valeur du echo est nulle, alors une valeur par défaut est mise à la place.
 
Merci quand même ;)


Ben tu remplaces "" par ce que tu veux [:spamafote]
 
[:_edit]
[:grilled]
 
c'est pas super elegant car les valeurs par défaut il faudrait qu'elles soient définies ailleurs que directement dans ta page, mais bon ...


Message édité par SICKofitALL le 22-11-2011 à 19:57:54

---------------
We deserve everything that's coming...
Reply

Marsh Posté le 22-11-2011 à 20:13:23    

? comment ça ? Je ne voit pas comment faire autrement, par exemple pour les titres de page .
 
Merci, ça marche aussi bien avec ton code ^^

Reply

Marsh Posté le 22-11-2011 à 22:42:47    

Effectivement ça fonctionne (je vérifie quand même avant de poster des âneries  :wahoo:  ).
 
Pas élégant parce que pour moi le code que je te proposes n'est qu'une traduction "littéraire" du problème (si et si et blabla).. mais pourquoi pas même si je pense que ma proposition fera ricaner plus d'un professionnel.
 
En fait ce qui serait pas mal c'est de revenir sur ton code de départ  

Code :
  1. <meta name="keywords" content="<?php echo $page_keywords;?>" />


et de faire tes tests en amont non pas dans la balise (c'est un peu l'idée de SICKofitALL je pense)
 
Bon courage

Reply

Marsh Posté le 22-11-2011 à 22:54:10    

Ok merci pour ces explications. Problème résolu ^^

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed