За последние 24 часа нас посетили 22648 программистов и 1015 роботов. Сейчас ищут 696 программистов ...

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

Тема в разделе "PHP для новичков", создана пользователем pavel784512, 2 май 2022.

Метки:
  1. pavel784512

    pavel784512 Новичок

    С нами с:
    2 май 2022
    Сообщения:
    4
    Симпатии:
    0
    Всем привет!

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

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

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

    HTML


    Код (Text):
    1. <!-- begin snippet: js hide: false console: true babel: false -->
    2.  
    3.  
    4.  
    5. <!-- language: lang-html -->
    6.  
    7.  
    8.  
    9.     <form class="form-horizontal" action="http://URL/bamp/bump1.php" method="post">
    10.  
    11.     <fieldset>
    12.  
    13.  
    14.  
    15.     <!-- Form Name -->
    16.  
    17.     <legend>PARAMETR</legend>
    18.  
    19.  
    20.  
    21.     <!-- Multiple Checkboxes -->
    22.  
    23.     <div class="form-group">
    24.  
    25.       <label class="col-md-4 control-label" for="checkboxes">form</label>
    26.  
    27.       <div class="col-md-4">
    28.  
    29.      
    30.  
    31.      
    32.  
    33.         <!-- CHECK-BOX1 -->
    34.  
    35.       <div class="checkbox">
    36.  
    37.         <label for="checkboxes1">
    38.  
    39.           <input type="checkbox" name="checkboxes1" id="checkboxes1" value="1">
    40.  
    41.           checkboxes1
    42.  
    43.         </label>
    44.  
    45.         </div>
    46.  
    47.        
    48.  
    49.         <!-- CHECK-BOX2 -->
    50.  
    51.       <div class="checkbox">
    52.  
    53.         <label for="checkboxes2">
    54.  
    55.           <input type="checkbox" name="checkboxes2" id="checkboxes2" value="2">
    56.  
    57.           checkboxes2
    58.  
    59.         </label>
    60.  
    61.         </div>
    62.  
    63.        
    64.  
    65.        
    66.  
    67.       </div>
    68.  
    69.     </div>
    70.  
    71.  
    72.  
    73.     <!-- Button -->
    74.  
    75.     <div class="form-group">
    76.  
    77.       <label class="col-md-4 control-label" for="singlebutton"> </label>
    78.  
    79.       <div class="col-md-4">
    80.  
    81.         <button id="singlebutton" name="singlebutton" class="btn btn-primary">START!</button>
    82.  
    83.       </div>
    84.  
    85.     </div>
    86.  
    87.  
    88.  
    89.     </fieldset>
    90.  
    91.     </form>
    92.  
    93.  
    94.  
    95. <!-- end snippet -->




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


    Код (Text):
    1. <?php
    2.  
    3. if($_POST['checkboxes1'] == 1 ){
    4.  
    5.     header("Location: http://URL/index1.html");
    6.  
    7. }
    8.  
    9. if($_POST['checkboxes2'] == 2){
    10.  
    11.     header("Location: http://URL/index2.html");
    12.  
    13. }
    14.  
    15.  
    16.  
    17. else {
    18.  
    19.     header("Location: http://URL/index3.html");
    20.  
    21. }
    22.  
    23.  
    24.  
    25. ?>




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

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    с чего это взяли?
    данные приходят .. просто вы их не умеете готовить

    можно сделать так:
    PHP:
    1. $links = [
    2.    0 => 'url0.html', // ни одного
    3.    1 => 'url1.html', // только первый
    4.    2 => 'url2.html', // только второй
    5.    3 => 'url3.html', // оба выбраны
    6. ];
    7.  
    8. $key = intval($_POST['checkboxes1'])+intval($_POST['checkboxes2']);
    9. header("Location: http://URL/{$links[$key]}");
     
    pavel784512 нравится это.
  3. pavel784512

    pavel784512 Новичок

    С нами с:
    2 май 2022
    Сообщения:
    4
    Симпатии:
    0
     
  4. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    если будет более двух чекбоксов - следует использовать в качестве значений степени двоек 1, 2, 4, 8, 16 итд
    тогда сумма значений при различных комбинациях никогда не будут пересекаться
     
    pavel784512 нравится это.
  5. pavel784512

    pavel784512 Новичок

    С нами с:
    2 май 2022
    Сообщения:
    4
    Симпатии:
    0