Les Snippets

Connexion

Transmission de donnée entre formulaires

Niveau requis pour utiliser/comprendre cette source : 2 ( Initié )
Créé le 21/06/2008 22:31:28 et initié par JoJo738 [Liste]
Vue : 1146
Catégorie(s) : Trucs & Astuces, Divers, WebForm, Control
Langages dispo pour ce code :
- PHP 5
- Voir tous les langages pour ce code snippet



Langage : PHP 5
Date ajout : 21/06/2008
Posté par JoJo738 [Liste]
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());