Before you start coding you might want to mark up on a piece of paper the aspects of the page that are common to every page, for example Header, Footer and Sidebar. Create 3 files called header.html, footer.html and sidebar.html and insert the relevant code. In each page file you include the template file with the include function:
include('views/header.html');
I usually put these files in a different folder so be sure to specify the full path. Your full page will look something like this
<?php
$page = 'index';
include ('views/header.html');
?>
<div class="some_class"> blah blah blah
<p>ipsem lorem</p>
</div>
<?php
include ('views/sidebar.html');
?>
<div class="another_class"> blah blah blah
<p>more text</p>
</div>
<?php
include ('views/footer.html');
?>
You can switch between php and html by using the php tags when you want to do some php coding.
You will notice that I included a $page variable in the header file. This is to answer your second question. Set that variable in every page before you include the file that displays the navigation. Then when displaying the aspect that you want to have an 'active' class, check the variable first. One way to do navigation is to create an array of nav items and then loop through the array.
$nav_items = array('index'=>'Home', 'events'=>'Events' );
foreach ($nav_items as $nav_href=>$nav_title) {
if ($page == $nav_href) {
echo '<li class="active">' . $nav_title . '</li>';
} else {
echo '<li>' . $nav_title . '</li>';
}
}
Because you have a submenu you will need to have an if statement to cater for that. You should be able to fit that into the above skeleton code. Also with the above, be sure to get your use of single and double quotes correct.
There are other ways to achieve the active class situation you're after including setting an id on each page's body tag but I find the above easy.