I think your problem is in the line:
$page = $_GET["page"];
Because later on, you include the submitted filename.
Instead of letting the user type in a page, and then including whatever they typed in, it would be more secure and easier to to give the page a handle that is different from the filename. You could then compare the handle to a list of handles in an array, and then give them the appropriate page. If the array is associative with the keys as the handles, and the values as the filenames, you could do something like:
$page = $_GET['page'];
$valid = array('main'=>'main.php', 'news'=>'news.php'); // and so on
$flag = 0;
foreach ($news as $key=>$value) {
if ($key == $page) {
include_once($value);
$flag = 1;
break;
}
}
if ($flag != 1)
print 'Page not available.';