Paramètre commençant par id_

Bonjour,

Spip 4.0

Je traite une url de la forme
/spip.php?page=presse&id_articles=7,3,6,5

J’ai bien un ‹ s › à id_articles car c’est une liste

Au début de mon squelette presse.html, je mets pour vérifier :
#ENV{id_articles}

et il me sort seulement : 7

Si je change le paramètre id_articles par liste_articles
/spip.php?page=presse&liste_articles=7,3,6,5

et que je vérifie dans le squelette par
#ENV{liste_articles}

là il me sort bien : 7,3,6,5

Pour comprendre, y a-t-il un mécanisme qui pré-traite les paramètres qui
commencent par id_ même si ça ne correspond pas à un objet éditorial ?

Merci


Stéphane
17 Charente-Maritime

Oui les id_xxx sont protégés me semble-t-il, ou alors castés en nombre entier.

Pour contourner tu pourrais faire &id_article[]=7&id_article[]=3, c’est plus verbeux mais tu obtiendras un tableau en bonne et dûe forme, et c’est plus simple à utiliser dans une boucle avec le critère {id_article?}.

Réponse : oui.

  • id_* doit être int ou int[].

Cela dit vite fait là je retrouve plus où cela est fait

Dans l’écran de sécu au moins cf spip-contrib-outils/securite - ecran_securite.php at master - securite - SPIP on GIT :slight_smile:

Bonsoir, merci pour vos réponses.