Certo che è sballato.

Il codice php è tutto sfasato.

Alla fine di
codice:
echo"<div class=content>";
e
codice:
echo"<div class=footer>";
manca la chiusura del div.
Poi mancano le virgolette quando dichiari le classi.

codice:
<div class="main"> //idem per gli altri...anche per quei due che ho preso come esempio sopra
Inoltre, perché non fai tutto con gli include che è più semplice.

Esempio:

codice:
<body>
<div class="main">
include('header.php'); 
include('content.php'); 
include('footer.php'); 
</div>
</body>
Infine 2 cose:
1) usa include invece di include_once.
2) che senso ha, con quella struttura, farlo in php e non in html?