Осторожно!
Разрешение пользователю решать, какой файл включать без проверки, приведет к уязвимости вашего сервера. Они могут указать ваш скрипт на любой секретный файл.
Вы должны ограничить возможности того, что может быть включено, например:
$allowed_files = array(
"page_error",
"some_section",
"some_other_section",
"change_password"
);
$se = empty($_GET['se']) ? "page_error" : $_GET['se'] ; // "page_error" by default.
if (in_array($se, $allowed_files)){
require("{$se}.php");
} else {
require("page_error.php");
}
Таким образом, они могут читать только те файлы, которые вы поместили в массив.
Редактировать: Также, как и все остальные, вы должны разделять разные пары param = аргумент в URL с помощью & вместо?. ? используется для отделения имени страницы от списка аргументов.
http://example.com/login/?se=change_password&usermail=...