следующая проблема: у меня есть controller.php, который улавливает два $ _GET-значения из введенного URL.Оператор PHP in if
- $ посмотреть = $ _GET [ 'вид']
- $ имя_сайта = $ _GET [ 'сайт']
Теперь я хочу, чтобы проверить, если $ имя_сайта является "leichtathletik" или " LandingPage»или "Galerie" или "anlaesse" или "Mitglieder"
и
если $ точка зрения "посетитель" или "администратор" или "член"
ЕСЛИ ложные
ждут 404 Errorpage
если верно запустить следующий код
if (
($sitename != "landingpage"
&& $sitename != "leichtathletik"
&& $sitename != "mitglieder"
&& $sitename != "anlaesse"
&& $sitename != "galerie")
|| ($view != "visitor"
&& $view != "member"
&& $view != "admin")
) {
header("HTTP/1.0 404 Not Found"); //prüft ob der Sitename und der Viewname gültig sind. Wenn nicht -> Error
exit();
} else {
//run code
}
}
С помощью этого кода я могу вставить неправильно $ просмотреть или $ имя_сайта и это не вперед на странице 404
оригинальная URL, как: www.domain.tld вид = ххх & имя_сайта = ххх
Переписанный URL-адрес: www.domain.tld/view/sitename.php . Где ошибка?
Почему бы не разбить его на логические блоки, вместо того, чтобы пытаться струнной все вместе в один гигантский если? Это облегчит вам определение проблемы. –
Вы ** должны ** просмотреть свое заявление. Если он слишком длинный и сложный, всегда есть лучший, более простой способ. Если ваши ключевые слова предназначены для оценки очень точно так, как вы представили, подумайте о том, чтобы написать функцию, которая выполняет итерацию множества возможностей или даже переключатель для каждого ключевого слова. –
Отметьте этот вопрос: http://stackoverflow.com/questions/5534268/headerhttp-1-0-404-not-found-not-doing-anything – amklose