#native_company# #native_desc#

Smart Architectures in PHP Page 5

By Tim Perdue
on October 10, 2000

For simplicity’s sake, this example will not be based on a perfect
object model, as I’d have to explain the base classes and how the
other objects extend those base objects. I think this example will still
give you the general idea.
Example HTML Lib


//connect to database

require ("database.php");

//common utils like header/footer HTML

require ("html.php");

//data access library

require ("bug_data.php");

echo site_header("Page Title");

echo "<H4>Updating A Bug</H4>


if (bug_data_update($field1,$field2,$field3)) {

    echo "<H3>Update Failed!</H3>";

} else {

    echo "<H3>Updated Bug Successfully</H3>";

//echo the global error string

echo $feedback;


echo site_footer();


Example Data Access Lib




 *  controls access to updating a bug in the

 *  database. Validates data and checks security

 *  Returns true on success, false on failure



function bug_data_update ($field1,$field2,$field3) {

//global string to report back errors

global $feedback;

    //$field1 and $field2 are required

if (!$field1 || !$field2) {

$feedback="Field 1 And Field 2 Are Required";



    //make sure this user has permission to update

if (!user_isadmin()) {

$feedback="You Must Be An Admin To Update a Bug";



    //now let's update the bug

    $result=db_query("UPDATE bug ".

"SET field2='$field2',".

"field3='$field3' ".

"WHERE id='$field1'");

    //now check your query for success/failure

if (!$result) {

//update failed

return false;

    } else {