php - Inserting output into page after document has been executed -
php - Inserting output into page after document has been executed -
in php have situation need page executed, have item inserted output page.
i think output buffering may of help, can't work out how implement in situation.
my code looks this:
//this document part of global functions file function pageheader (){ //i'm using $globals here because works, rather improve method if possible $globals['error_handler'] = new errorhandler(); //errorhandler class sets function set_error_handler, gets array of errors executed page require_once($_server['document_root'].'/sales/global/_header.php'); //i unordered list ->displayerrornotice() displayed here, if list empty because list output before rest of document executed } function pagefooter (){ $globals['error_handler'] ->displayerrornotice(); //this function displays errors html unordered list include($_server['document_root']."/sales/global/_footer.php"); }
most pages on site include document , utilize pageheader()
, pagefooter()
functions. trying accomplish set unordered list of php generated errors html list @ point after _header.php has been included. can list work intended if set in footer (after document has been executed), don't want there. guess move js, think there must php solution.
update
i'm wondering whether callback function ob_start()
searches buffer regex set error list, , inserts solution.
update 2 have solved problem, reply below. take in 2 days when allowed.
worked out finally. key buffer output, , search buffer given snippet of html, , replace unordered list.
my implementation this:
function outputbuffercallback($buffer){ homecoming str_replace("<insert_errors>", $globals['error_handler']->returnerrornotice(), $buffer); } function pageheader (){ ob_start('outputbuffercallback'); //i'm using $globals here because works, rather improve method if possible $globals['error_handler'] = new errorhandler(); //errorhandler class sets function set_error_handler, gets array of errors executed page require_once($_server['document_root'].'/sales/global/_header.php'); echo '<insert_errors>'; //this snippet replaced ul @ buffer flush } function pagefooter (){ include($_server['document_root']."/sales/global/_footer.php"); ob_end_flush(); }
php buffering globals
Comments
Post a Comment