fossil
Такая система, которую вы создаёте, обычно называется модульной, и states здесь выступает модулем
Есть пару вопросов-предложений:
Во-первых, почему вы пишете
PHP код:
if ($action == "states"){
$inc="states.php";
}
Наверняка у вас будет не только один модуль, а со времен добавяться ещё, тогда может лучше писать так:
PHP код:
if (!empty($action))
{
$inc=$action.".php";
}
Можно также проверять, существует ли вообще такой модуль, если нет, то выводим ошибку "такого модуля нет"
PHP код:
if (!empty($action))
{
if(file_exists($action.".php")) $inc=$action.".php";
else echo "Ошибка: Такой страницы не существует";
}
Обработка переменной $st должна вообще происходить не в index.php, а в том модуле, к которуму она логически принадлежит, то есть в вашем случае в states. Система здесь действует также: проверяем не пуста ли переменная, если нет, то смотрит, существует ли соответствующий данной переменной файл (то есть статья), если существует, то подключаем, если нет, то выводим надпись с ошибкой.
Ещё замечание к модульной системы, если нету переменной action или эта переменная указывает на не существующий модуль, можно подключать стандартный модуль main (или типа того), который будет являться первой страницей сайта