Я пытаюсь сделать систему маршрутизации.
Что я хочу сделать:
Url: http://localhost/wiki.php?post_id=1
вызвать секунду, если
URL: http://localhost/wiki.php?post_id=1&action=upvote
http://localhost/wiki.php?post_id=1&action=downvote
сначала вызвать, если
Это система маршрутизации:
if(isset($_GET['post_id']) & ((isset($_GET['action']) ? $_GET['action'] : null) == "upvote" || "downvote")){
//Do stuff
}else if(isset($_GET['post_id'])){
//Do stuff
}
Проблема:
URL: http://localhost/wiki.php?post_id=1&action=upvote
http://localhost/wiki.php?post_id=1&action=downvote
работает так, как они должны.
Но url: http://localhost/wiki.php?post_id=1
вызывает первый, а не второй, если тоже ...
Примечание: неопределенный индекс: действие в D: \xampp \ htdocs \ controllers \ WikiController.php в строке 18
Строка 18: $rate = $_GET['action'];
внутри, во-первых, если.
Во время тестирования я выяснил, что если я изменю if(isset($_GET['post_id']) & ((isset($_GET['action']) ? $_GET['action'] : null) == "upvote" || "downvote")){
тоже
if(isset($_GET['post_id']) & ((isset($_GET['action']) ? $_GET['action'] : null) == "upvote")){
или
if(isset($_GET['post_id']) & ((isset($_GET['action']) ? $_GET['action'] : null) == "downvote")){
Работает нормально.Но я хочу научиться делать это правильно, а не просто сделать 2 разных маршрутизатора.