Вы должны будете использовать in_array()
для проверки допустимых значений. array_key_exists
требует, чтобы имена страниц были ключами массива.
Во-вторых, $_GET["page"]
будет пустым, поскольку у вас не было параметра get с таким именем. Вы должны адаптировать свои ссылки:
<li><a href="template.php?page=main">Main content</a></li>
<li><a href="template.php?page=page_two">Second content</a></li>
<li><a href="template.php?page=page_three">Third content</a></li>
(Или иначе используйте $_SERVER["QUERY_STRING"]
. Но вы , вероятно, не хотите этого делать.)
Ваша третья проблема использовалась:
include('subfolder/folder/'.$_GET['$page'].'.html');
^^^ ^^^
Вы должны были использовать только переменную $page
, которую вы уже прочитали из $_GET
. Использование этого имени в качестве ключа снова не будет работать. И вы дополнительно использовали его в одинарных кавычках (вдвойне неправильно, но, к счастью, безрезультатно).
Так правильно будет:
$all_pages = array("main", "page_two", "page_three");
$page = $_GET['page'];
if ( in_array($page, $all_pages) )
{
include('subfolder/folder/'.$page.'.html');
}