nastya97core
@nastya97core
Начинающий программист

Как на сервере по get запросу закрывать нужные checkbox?

Здравствуйте. Вот я открываю странцу с get запросом такого типа:
/?status%5B%5D=Завершён&status%5B%5D=Невозможен

Теперь мне нужно, чтобы страница сразу отметила нужные checkbox.
<div>
    		<input type="checkbox" id="ended" name="status[]" value="Завершён" <? if(in_array('Завершён', $_GET['status'])): ?> checked <? endif;?> >
    		<label for="ended">Завершённые</label>
  		</div>
  		<div>
    		<input type="checkbox" id="incred" name="status[]" value="Невозможен"<? if(in_array('Невозможен', $_GET['status'])): ?>checked<? endif;?>>
    		<label for="incred">Невозможные</label>
  		</div>

Однако я здесь не делаю проверку на существование get['status'], поэтому если я вообще ничего не передам в get - будет ошибка.

У меня подозрение, что я делаю что-то не то.
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега Веб-разработка
{PHP, MySql, HTML, JS, CSS} developer
В пхп есть замечательный метод empty(), да и иф тут лишний, тернарника достаточно.
<?=(!empty($_GET['status']) && in_array('Завершён', $_GET['status']))?'checked':'';?>

Есть варианты когда таких одинаковых проверок много, тогда есть смысл сначала проверить существует ли $_GET['status'], и если нет - присвоить $_GET['status'] = [], тогда проверка на емпти будет не нужна, но это больше частный случай...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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