Привет всем! У меня есть кусочек кода, Данная форма должна выводить список задач в зависимости от того, найдёт ли она совпадения по слову в названии задачи.
<form class="search-form" action="index.php" method="get">
<input class="search-form__input <?= empty($tasks_for_category) ? 'form__input--error': ''; ?>" type="text" name="search" value="" placeholder="Поиск по задачам">
<input class="search-form__submit" type="submit" name="" value="Искать">
<p class="form__message"><?= empty($tasks_for_category) ? "По Вашему запросу ничего не найдено" :''; ?></p>
</form>
К ней есть код:
$show_completed = $_GET['show_completed'] ?? '';
$user = isset($_SESSION['user']) ? $_SESSION['user'] :'';
$user_id = isset($_SESSION['user_id']) ? $_SESSION['user_id'] : 0;
$term = isset($_GET['term']) ? $_GET['term'] : 'all';
$category_id = isset($_GET['category']) ? (int)$_GET['category'] : 0;
$tasks_for_category = getAllTasksForCategory($connection, $user_id, $category_id, $term);
$category_list = getCategories($connection, $user_id);
$task_list = getTasks($connection, $user_id);
if(isset($_GET['task_id']) && isset($_GET['check'])) {
$task_id = (int)$_GET['task_id'];
toggleTaskStatus($connection, $task_id, $user_id);
header('Location: /');
exit();
}
if($_SERVER['REQUEST_METHOD'] === 'GET') {
$search = isset($_GET['search']) ? $_GET['search'] :'' ;
$tasks_for_category = getTasksBySearch($connection, $user_id, $search);
}
if(!$user) {
$content = include_template('guest.php', []);
} else {
$content = include_template('index.php', [
'show_completed'=> $show_completed,
'tasks_for_category' => $tasks_for_category,
'category_id' => $category_id,
'term' => $term
]);
}
$layout_content = include_template('layout.php', [
'content' => $content,
'page_title' => 'Дела в порядке',
'isSignInOrRegister' => false,
'user' => $user,
'user_id' => $user_id,
'category_list' => $category_list,
'term' => $term,
'task_list' => $task_list
]);
print($layout_content);
Проблема в следующем: при загрузке страницы должен выводиться список всех задач, это переменная
$tasks_for_category = getAllTasksForCategory($connection, $user_id, $category_id, $term);
Если же была нажата кнопка поиска, input type="submit", то должна сработать другая функция, но результат которой присвоится той же переменной:
$tasks_for_category = getTasksBySearch($connection, $user_id, $search);
Обе функции - getAllTasksForCategory(...) и getTasksBySearch(...) 100% рабочие. Но проблема в следующем: получается, что условие $_SERVER['REQUESTED_METHOD'] === 'GET' всегда true, даже когда кнопка ещё не нажималась. И, следовательно, даже при первичной загрузке страницы всегда активна только 2-я функция ((( Подскажите, чего я опять не понимаю?