phpbar.de logo

Mailinglisten-Archive

[php] Formular-Klasse mit Arrays

[php] Formular-Klasse mit Arrays

Andreas Stagl a.stagl at gmx.at
Sam Sep 30 16:41:27 CEST 2006


Hallo allerseits,

hab eine kleines Problem beim Schreiben eine Klasse zum Umgang mit 
Formuaren. Ich weiss schon, dass es da in PEAR bereits verschiedene 
brauchbare Lösungen gibt, aber darum geht's nicht. ;-)

In meinem Formular hab ich bspw ein Feld wie folgt:
<input type="text" name="person[name][first]" value="andy" />

Nun weiss man ja, dass man auf der Folgeseite (sofern man das Formular 
via POST übermittelt hat) mittels $_POST['person']['name']['first'] an 
den Wert dieses Formularfeldes kommt.

Jetzt will ich das Ganze automatisieren und hab auf dieser Seite dann 
aber lediglich den exakten Namen des Input-Feldes... also 
person[name][first].

Wie komm ich nun möglichst elegant an den entsprechenden Wert aus dem 
$_POST Array?

Hab zwar schon einen Ansatz (unten beigefügt), hoffe aber, dass es da 
noch was Simpleres gibt. Hat hierzu vielleicht jemand eine Idee?

Dank euch schon mal im Voraus & liebe Grüße aus Wien,
Andy


<?php
// nehmen wir mal die folgenden werte als gegeben an
$_POST['person']['name']['first']='andy';
$htmfieldname = 'person[name][first]';

// nun wollen wir mittels $htmlfieldname an den zugehörigen wert des $_POST
// arrays herankommen
$arrKeys = ( explode('[',str_replace(']','',$htmfieldname)) );
$dummy = $_POST;
foreach($arrKeys as $intKey => $strVal)
{
    $dummy=$dummy[$strVal];
}

// geschafft, scheint aber recht umständlich
echo $dummy;
?>






php::bar PHP Wiki   -   Listenarchive