form_hidden insère un hidden en trop
La doc spip.net dit : Si on fait un formulaire qui utilise comme action un lien comprenant des arguments, il faut remettre ces valeurs dans des champs hidden .
Le phpdoc dit : Fournit la suite de Input-Hidden correspondant aux paramètres de l'URL donnée en argument, compatible avec les types_urls.
Normalement, le résultat de form_hidden devrait uniquement dépendre de la balise sur laquelle il s'applique, fut elle #SELF ou #URL_PAGE{tagada}
Or, si la page courante est ?page=truc&id_truc=10, form_hidden insère toujours un hidden pour id_truc=10, même si on l'applique à un argument comme #URL_PAGE{tagada} dans lequel aucun id_truc n'est mentionné.
J'imagine que ce comportement est pratique parfois, sur une page truc qui ne s'occupe que d'un seul truc et où toutes les noisettes s'occupent de ce seul truc.
Mais il est des pages truc qui s'occupent AUSSI d'autres trucs, ou d'autres choses qui n'ont pas de rapport, ou des rapports plus complexes que "toujours tout sur un seul truc", et que ce paramètre id_truc peut gravement perturber.
Exemple de squelette pour mettre en évidence : fichier truc.html
DEBUT
ENV=
<pre>[(#ENV**|unserialize|print_r{1})]</pre>
SELF
<pre>#SELF</pre>
SELF|form_hidden
<pre>[(#SELF|form_hidden|htmlspecialchars)]</pre>
url_page{tagada}
<pre>#URL_PAGE{tagada}</pre>
URL_PAGE{tagada}|form_hidden
<pre>[(#URL_PAGE{tagada}|form_hidden|htmlspecialchars)]</pre>
FIN
Appeler ?page=truc&id_chose=1 Appeler ?page=truc&id_truc=2 Dans ce dernier cas, id_truc s'insère de force dans le form de la page tagada