Académique Documents
Professionnel Documents
Culture Documents
Accueil > Documentation en français > Webmestres > Manuel de référence des boucles et balises > Balises > #ENV
#ENV
#ENV{parametre} récupère des variables d’environnement transmises au squelette. Un second
argument permet de donner une valeur par défaut si le paramètre demandé n’est pas présent
dans l’environnement ou si son contenu est vide.
SOMMAIRE
Description
Exemples
Exemples avancées
Court-circuiter les traitements de sécurité
Voir aussi
Description
spip
#ENV{parametre/dans/un/tableau, valeur par défaut}
// équivalent à :
[(#ENV**{parametre}|table_valeur{dans/un/tableau, valeur par défaut})]
Enfin, la balise #ENV toute seule retourne un tableau sérialisé de tous les paramètres
d’environnement.
Exemples
Récupérer un identifiant d’article, sinon la chaîne « new » :
#ENV{id_article,new}
Récupérer dans une boucle les valeurs de l’id_rubrique et de l’id_mot passées dans l’URL
spip.php?rubrique24&id_mot=5
spip
<BOUCLE_art(ARTICLES){id_rubrique=#ENV{id_rubrique}}{id_mot=#ENV{id_mot}}>
…
<INCLURE{fond=mon_squelette, id_article=136}>
Exemples avancées
Avec dans l’URL ?afficher[articles]=oui, tester si on affiche les articles :
[<pre>(#ENV**|unserialize|print_r{1})</pre>]
- #ENV** retourne la variable sans appliquer également la fonction interdire_scripts(). Elle renvoie
donc le PHP exécuté.
Ceci peut poser un problème de sécurité si cette variable reçoit une injection de code.
Néanmoins #ENV** trouve des applications, par exemple dans l’espace privé où la fonction
interdire_scripts() est appliquée de façon plus restrictive. #ENV** permet alors de lever ces
restrictions de façon très localisée. Mais encore une fois, à utiliser en connaissance de cause !
Voir aussi
<INCLURE> d’autres squelettes
Le filtre |setenv
Sur Programmer.spip.net
Sur Code.spip.net
interdire_script()
(https://code.spip.net/autodoc/tree/ecrire/inc/texte.php.html#function_interdire_scripts)