Szia!
KForum eredeti hozzászólása
Hát megfogom csinálni az biztos, csak most szeretném elinditani a weblapot, majd utánna neki is fogok mert szerintem ezt rengeteg helyen fel lehet használni és ha saját akkor ismered minden részletét és könnyedén tudod modósítani.
Kinyitotad ezt az ajtót... én most már megtanítalak php-ban form-ot generálni, ha tetszik, ha nem! 
A következő lecke a korábban bemutatott $form tömb alapján html generálása:
PHP kód:
function getForm($form) {
$labelWidthAttr = $form{'labelWidth'} != 'auto' ? ' width="'.$form{'labelWidth'}.'"':'';
$cls = 'validator';
if ($form{'align'} == 'center') $cls .= ' tcenter';
$t = '<form method="post" action="'.$form{'action'}.'" class="validator'.($form{'align'} == 'center'?' tcenter':'').'"><table>';
foreach ($form{'items'} as $item) {
$t .= '<tr>';
if ($item{'inputType'} == 'checkbox') {
$t .= '<td></td><td><label>';
$t .= '<input type="'.$item{'inputType'}.'" name="'.$form{'variable'}.'['.$item{'name'}.']" '.($item{'value'}?'checked="checked"""':'').'/>';
$t .= $item{'label'}.'</label></td>';
} else {
if ($form{'labelAlign'} == 'top') {
$t .= '<td width="'.$form{'editWidth'}.'"'.($item{'labelClass'}?' class="'.$item{'labelClass'}.'"':'').'>'.$item{'label'}.$item{'labelSeparator'}.'<br/>';
} else {
$t .= '<td'.$labelWidthAttr.($item{'labelClass'}?' class="'.$item{'labelClass'}.'"':'').'>'.$item{'label'}.$item{'labelSeparator'}.'</td>';
$t .= '<td width="'.$form{'editWidth'}.'">';
}
if ($item{'inputType'} == 'textaera') {
$t .= '<textarea name="'.$form{'variable'}.'['.$item{'name'}.']" class="'.$item{'class'}.'"'.($item{'disabled'}?' disabled="disabled"':'').'>'.$item{'value'}.'</textarea>';
// az üres sorok, tab-ok itt kellenek:
global $smarty;$smarty->unregister_outputfilter('trim_source');
} else {
$input_type = $item{'inputType'};
if ($input_type == 'edit') $input_type = 'text';
$t .= '<input type="'.$input_type.'" name="'.$form{'variable'}.'['.$item{'name'}.']" value="'.$item{'value'}.'" class="'.$item{'class'}.'"'.($item{'disabled'}?' disabled="disabled"':'').'/>';
}
$t .= '</td>';
}
$t .= '</tr>';
}
if ($form{'buttons'}) {
$t .= '<tr><td colspan="2" class="tcenter">';
foreach ($form{'buttons'} as $button) {
$t .= '<span class="button_normal"><input class="submit button" type="submit" value="'.$button{'text'}.'" /></span>';
}
$t .= '</td></tr>';
}
$t .= '</table></form>';
return $t;
}
A fenti kód elkészíti az input mezőket. Mint látod valóban nem hosszú kód, de mindent megcsinál amire szükséged lehet. Természetesen js validálás-t hozzá kell tenni, formázásokat css-ben el kell készíteni, de az ezekhez szükséges osztály hivatkozásokat beleteszi a generált kódba.
Ehhez annyira lesz még szükség, hogy a $item{'class'} elembe bele kell tenni a késöbb hivatkozott osztályokat egy előfeldolgozó eljárásban.
Sokmindent kigyomláltam belőle, hogy ne zavarjon meg. (valószínű nem is működik, mert nem próbáltam ki) A helyedbe azt csinálnám, hogy ezt sem használnám fel, hanem elemenkét emelgetném át és így bővíteném folyamatossan a funkcionalítását. Végén valószínű kétszer hosszabb lesz, de a saját igényeidet fogja kielégíteni.