Looking at your code you are doing alot of repetition, due to lack of logic within your code. I have cleaned up your code and tested it and it doing what it is supposed to be doing.
Here is your new code
<?php
class template
{
private $parts = array();
function load($parts)
{
$record_found = false;
$sets = array( 'MAINTITLE', 'MAINCONTENT', 'TITLE', 'CONTAINERTWOTITLE', 'CONTAINERONETITLE', 'CONTAINERONECONTENT',
'CONTAINERTWOCONTENT', 'CONTAINERTHREETITLE', 'CONTAINERTHREECONTENT', 'JQUERY', 'JSSCRIPT'
);
if( isset($_SESSION['id'], $_SESSION['emailaddress']) &&
!empty($_SESSION['id']) && !empty($_SESSION['emailaddress']) &&
strlen($_SESSION['id']) <= 11 && strlen($_SESSION['emailaddress']) <= 150)
{
$catchname = "SELECT `firstname`, `lastname` FROM `customers` WHERE id = '$sessionid' AND emailaddress = '$sessionemail' LIMIT 1";
$namefetch = mysql_query($catchname);
if($namefetch && mysql_num_rows($namefetch) == 1)
{
$record_found = true;
$name = mysql_fetch_assoc($namefetch);
$parts['FIRSTNAME'] = $name['firstname'];
$parts['LASTNAME'] = $name['lastname'];
$parts['MENU'] = '<li class="active"><a href="index.php"><b>Home</b></a></li>
<li><a href="#"><b>My Account</b></a></li>
<li><a href="#"><b>Policys</b></a></li>
<li><a href="#"><b>Help</b></a></li>
<li><a href="#"><b>Contact Us</b></a></li>';
}
}
// we havnt found a matching record, define default data
if(!$record_found)
{
session_unset();
session_destroy();
$parts['FIRSTNAME'] = 'Guest';
$parts['LASTNAME'] = '';
$parts['MENU'] = '<li class="active"><a href="index.php"><b>Home</b></a></li>
<li><a href="#"><b>Login</b></a></li>
<li><a href="#"><b>Register</b></a></li>
<li><a href="#"><b>Policys</b></a></li>
<li><a href="#"><b>About Us</b></a></li>
<li><a href="#"><b>Contact Us</b></a></li>
<li><a href="#"><b>iDeaz</b></a></li>
<li><a href="#"><b>Help</b></a></li>';
}
if(!file_exists('./assets/template/error.html'))
{
// update set site shutdown!
}
if(!is_array($parts) || !file_exists('./assets/template/global.html'))
{
$parts['MAINCONTENT'] = 'We are experiencing difficulty at the present time, please refresh and try again.';
$parts['MAINTITLE'] = 'Site error';
$file = file_get_contents('./assets/template/error.html');
}
else
$file = file_get_contents('./assets/template/global.html');
$search = array_keys($parts);
foreach($sets as $item)
{
if(!in_array($item, $search))
$parts[$item] = '';
}
foreach($search as $key => $value)
{
$search[$key] = '{' . $value . '}';
}
echo str_replace($search, $parts, $file);
$parts = array();
}
}
?>