Jump to content


This topic is now archived and is closed to further replies.


including HTML the hard way?

Recommended Posts

Hi all,

I have installed php-calendar 0.10.5 as a basic calendar. I know very little about PHP by the way. The index.php file defines various items and then includes 3 files:-

require_once($phpc_root_path . 'includes/calendar.php');
require_once($phpc_root_path . 'includes/setup.php');
require_once($phpc_root_path . 'includes/globals.php');

Within calendar.php there is a function to define the head of the document that will be output in setup.php.

function create_xhtml($rest)
global $config, $phpc_script;

$output = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"\n"
$html = tag('html', attributes('xml:lang="en"'),
tag('title', $config['calendar_title']),
                                                .' content="text/html;'
                                                .' charset=iso-8859-1"')),
.' type="text/css" href="'
'<!--[if IE]><link rel="stylesheet" '
.'type="text/css" href="all-ie.css" />'
tag('h1', $config['calendar_title']),

return $output . $html->toString();

Now rather than having to rather laboriously go through my whole site header which uses CSS, styles and 4 positioned layers, I wondered if there was an easier way to do this. I tried including the header part as an html file without closing tags (calendarpage.inc), but this generates an error once setup.php is reached, informing me that sessionstart() has a problem as the page has already begun.

Has anyone any ideas how I can rewrite the function above, or remove it and use an include to generate the header part of the php? I have attached the php files mentioned.

thanks very much for any help!


[attachment deleted by admin]

Share this post

Link to post
Share on other sites
You can use output buffering.. like this:

$header = ob_get_clean();[/code]

I'm pretty sure that'll do what you want.  Then you have your HTML in a string.

Share this post

Link to post
Share on other sites


Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.