форма поиска php - PullRequest
       14

форма поиска php

1 голос
/ 03 сентября 2011

возится с формой поиска, которую мне удалось собрать вместе, которая работает. Всего есть возможность ввести 28 значений, включая флажки и параметры выбора. Итак, этот код повторяется 28 раз с разными переменными, есть ли более короткий способ сделать это, в моем коде это выглядит так неприятно, что заставляет меня поверить, что я делаю что-то очень неправильно. Вот пример моего кода:

            $search_shop_name = '';

            if(isset($_GET['search_shop_name'])) {
            $search_shop_name = $_GET['search_shop_name']; 
    }               
    else {
        $search_shop_name = '';
    }   

Это всего лишь 1 фрагмент кода для одного ввода, представьте, насколько длинным и небрежным является этот код. Любой совет будет принят во внимание. спасибо

Ответы [ 2 ]

3 голосов
/ 03 сентября 2011

Использование filter_input() [документы] . Это сократит ваш код до одной строки:

$search_shop_name = filter_input('search_shot_name', INPUT_GET);

Или сделать что-то вроде этого:

// put your default values here
$defaults = array(
    'search_shop_name' => '',
    'other_value' => '',
    ...
);

// merge $_GET in default values
$input = array_merge($defaults, $_GET); // or $_GET + $defaults

// you are done
$search_shop_name = $input['search_shop_name'];
1 голос
/ 03 сентября 2011

Вместо того, чтобы использовать все эти условия, вы можете просто сделать:

$search_shop_name = $_GET['search_shop_name']; 

Если значение $_GET не установлено, то $search_shop_name будет пустой строкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...