function hiddens_form($method = 'get')
{
$method = ('_' . (strtolower($method) == 'get' ? 'GET' : 'POST'));
$array = eval('return $' . $method . ';');
// Récupére la valeur de _GET ou _POST
$args = func_get_args();
array_shift($args);
// Supprime le 1er argument ($method = get ou post)
$list = array();
if( count($args) == 0 )
{
$args[0] = true;
// Si aucun argument, on met TRUE par defaut (-> tout)
}
foreach( $args as $val )
{
if( $val === true )
{
$list = array();
foreach( $array as $post_name => $post_val )
{
$list[$post_name] = '<input type="hidden" name="' . urlencode($post_name) . '" value="' . urlencode($post_val) . '" />';
}
}
else if( isset($array[$val]) )
{
$list[$val] = '<input type="hidden" name="' . urlencode($val) . '" value="' . urlencode($array[$val]) . '" />';
}
}
// On supprime les doublons
return array_unique($list);
}
Remarque :
@param string $method = GET [or POST]
@params string $name = true : les noms des variables à renvoyer. Si true, renvoie toutes les données
@return Array : retourne un array (sans doublons)
Astuce : echo implode('', hiddens_form());