On Thursday 26 December 2002 06:59 am, Rick Emery wrote: > Text box: > print "<INPUT type=text name=myname value=\"$data_value\">\n";
i prefer to use templates. i use my own template code, but there are good template systems online that you can use, e.g., http://smarty.php.net is powerful. in a simple template system, assume that there is a file (the template) that contains HTML (in my system, i use mixed php and html, with a special function TemplateVirtual to make things work, but in this example let's assume it's straight HTML to keep it simple as possible). we load the file and replace substrings in there with the data. the convention is: database fieldname is, for example, dbfield. corresponding input fieldname is dbfield_name, corresponding input value template (in the HTML, to be replaced with the actual contents of the dbfield) is {dbfield_value}. so the HTML might look like: <INPUT name="dbfield_name" value="{dbfield_value"}> function templateLoad($fn) /* returns template as one long string */ { $fp=file($fn,1); /* insert error handling here, e.g., error might not exist or be unreadable */ $ret=""; while(list(,$v)=each($tmp)) $ret.=$v; /* or $ret.="$v\n" is nice too but might mangle multiline HTML or PHP.*/ return $ret; } /* convenience/naming-consistency function only. use str_replace directly if you want (i think the maintainability/consistency is more valuable than the trivial speed increase */ function templateReplace($templ,$from,$to) { $templ=str_replace($from,$to,$templ); return $templ; } to use this: /* first load data from database or cookies, contents are in $field1_value, $field2_value, $field3_value, etc, for the database fields field1, field2, field3 */ $templ=templateLoad("mytemplate.inc"); if(!$templ) /* error handling or something */ die("Could not load template, aborting\n"); $templ=templateReplace($templ,"{field1_value}",$field1_value); $templ=templateReplace($templ,"{field2_value}",$field2_value); $templ=templateReplace($templ,"{field3_value}",$field3_value); print($templ); template systems have been discussed a lot online. do a google search on templates, php, separation of display data and programming logic. templates look complicated when used with simple/small projects. however, they become much more useful on larger projects since the look of the project is not hardcoded in your PHP. you can do multiple looks (skins or themes) by just switching to a different set of templates. you can also have graphic designers working on the "look" of the pages without needing to have them understand PHP. they can edit just the templates, and as long as they follow your convention on templates to be replaced and field naming, the programming group and the graphic designers can work separately and in parallel. tiger -- Gerald Timothy Quimpo tiger*quimpo*org gquimpo*sni-inc.com tiger*sni*ph Public Key: "gpg --keyserver pgp.mit.edu --recv-keys 672F4C78" Veritas liberabit vos. Doveryai no proveryai. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php