Отправка формы (кнопки) с отмеченным чек-боксом на разные URL адреса через php файл

Всем привет!

Как сделать отправку формы на разные URL исходя из отмеченных чек-боксов. У меня получилось это реализовать, только с 1 чек-боксом. Но если добавить второй. То php не распознает пришедшие данные, как надо.

Задача: Как сделать, чтобы перенаправление было на 4 разных URL исходя из отмеченной комбинации чек-бокса у кнопки.

  1. Отправка на 1 URL при чекбоксе 1
  2. Отправка на 2 URL при чекбоксе 2
  3. Отправка на 3 URL при чекбоксе 1 и 2
  4. Отправка на 4 URL без отм. чекбоксов

HTML

<form class="form-horizontal" action="http://URL/bamp/bump1.php" method="post">
<fieldset>

<!-- Form Name -->
<legend>PARAMETR</legend>

<!-- Multiple Checkboxes -->
<div class="form-group">
  <label class="col-md-4 control-label" for="checkboxes">form</label>
  <div class="col-md-4">
  
  
    <!-- CHECK-BOX1 -->
  <div class="checkbox">
    <label for="checkboxes1">
      <input type="checkbox" name="checkboxes1" id="checkboxes1" value="1">
      checkboxes1
    </label>
    </div>
    
    <!-- CHECK-BOX2 -->
  <div class="checkbox">
    <label for="checkboxes2">
      <input type="checkbox" name="checkboxes2" id="checkboxes2" value="2">
      checkboxes2
    </label>
    </div>
    
    
  </div>
</div>

<!-- Button -->
<div class="form-group">
  <label class="col-md-4 control-label" for="singlebutton"> </label>
  <div class="col-md-4">
    <button id="singlebutton" name="singlebutton" class="btn btn-primary">START!</button>
  </div>
</div>

</fieldset>
</form>

PHP И вот мой PHP файл, который принимает эту форму для последующего редиректа.

if($_POST['checkboxes1'] == 1 ){
    header("Location: http://URL/index1.html");
}
if($_POST['checkboxes2'] == 2){
    header("Location: http://URL/index2.html");
}

else {
    header("Location: http://URL/index3.html"); 
}

?> 



Заранее спасибо за любую помощь и подсказки.

Ответы (1 шт):

Автор решения: Павел Кравчук
if ($_POST['checkboxes1'] == 1 && $_POST['checkboxes2'] == 2) {
    header("Location: http://URL/index3.html");
} elseif ($_POST['checkboxes1'] == 1) {
    header("Location: http://URL/index1.html");
} elseif ($_POST['checkboxes2'] == 2) {
    header("Location: http://URL/index2.html");
} else {
    header("Location: http://URL/index4.html");
}

Но этажерка из if как бы намекает, что в целом для решения Вашей задачи следует поискать более элегантное решение.

→ Ссылка