@ligisayan

Как определить были ли введены и отправлены данные формы $_POST['name']?

Всем привет!
Делаю фильтр на wordpress. Хочу сделать так, чтобы при передаче параметра в input выполнялось условие проверки на отправленных данных возраста (причем, значение 0 - это тоже возраст), а при загрузке загружались все данные без фильтра.

Пробую проверить на установку значения поля if(isset($_POST['age'])){}, но условие выполняется (фильтруется) каждый раз, даже при изначальной загрузке не передавая данные из формы.

Как определить отправлены были данные или нет так, чтобы соблюдалось 2 условия:

1) проверить были ли отправлены данные формы, НО, чтобы можно было вводить значение "0"!

2) фильтр отрабатывал на той же странице, как сейчас.

<form action="" method="post">
        <label class="ages-title-method">Введите возраст:
            <input type="number" name="age"/>
        </label>
        <button type="submit">Найти</button>
    </form>
    <div>
    <?php
    if(isset($_POST['age'])){
    $args = array ( 
        'post_type' => 'method', 
        'posts_per_page' => '-1',
        'relation' => 'AND',
        'meta_query' => array(
           'key' => 'age_min',
           'value' => (int) $_POST["age"],
           'type'    => 'numeric',
           'compare' => '<='
        ),
    );
    }
    else {
    $args = array ( 
        'post_type' => 'method', 
        'posts_per_page' => '-1',
    );           
    }
    $the_query = new WP_Query( $args );

    while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
       <div class="name"><?php the_title(); ?></div>
    <?php endwhile; wp_reset_postdata(); ?>
    </div>
  • Вопрос задан
  • 45 просмотров
Решения вопроса 1
@nozzy
Symfony, Laravel, SQL
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['age'])){
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы