Несколько переключателей и две отдельные кнопки "Отправить", где логика будет течь в зависимости от выбранных параметров

Я пытаюсь создать страницу "Спасибо", на которую пользователь попадает после того, как он / она выбрал одну из наших форм. На этой странице пользователь может выбрать бесплатный компакт-диск в качестве подарка, и ему нужно будет только оплатить доставку. Я хотел бы дать пользователю возможность выбрать физический компакт-диск или цифровой MP3. Логика здесь заключается в том, что сначала я предоставляю пользователю выбор из 4 компакт-дисков, которые я подключаю к каждой радиокнопке. Затем, ниже, появится первая кнопка " Отправить", которая скажет что-то вроде "Да, пожалуйста, пишите на CD". Под первой кнопкой будет вторая кнопка "Отправить" с надписью "Пришлите мне ссылку для скачивания". Таким образом, если пользователь нажимает любую из переключателей, а затем нажимает первую кнопку " Отправить", они будут перенаправлены в корзину для этого компакт-диска, где ему будет предложено оплатить стоимость доставки компакт-диска. Если пользователь нажимает на ту же кнопку-переключатель, но затем нажимает вторую кнопку " Отправить", он будет переведен по ссылке для ее загрузки. Третья ссылка ниже просто уведет пользователя за страницу, если он решит отказаться от этого предложения.

Я не могу заставить скрипт работать правильно для меня. Вот что у меня так далеко:

<?PHP

$option1 = 'unchecked';
$option2 = 'unchecked';
$option3 = 'unchecked';
$option4 = 'unchecked';


if (isset($_POST['Submit1'])) 

        {

    $selected_radio = $_POST['cd_choice'];

        if ($selected_radio == 'option1') 
        {
            $option1 = 'checked';
                     ?>
                      <a href="#">Purchase link 1</a>
                     <?php

        }
        else if ($selected_radio == 'option2') 
        {
        $option2 = 'checked';
                     ?>
                      <a href="#">Purchase link 2</a>
                     <?php          
        }
        else if ($selected_radio == 'option3') 
        {
        $option3 = 'checked';
                     ?>
                      <a href="#">Purchase link 3</a>
                     <?php          
        }
        else if ($selected_radio == 'option4') 
        {
        $option4 = 'checked';
                     ?>
                      <a href="#">Purchase link 4</a>
                     <?php          
        }
    }
else
    {
    $selected_radio = $_POST['cd_choice'];

        if ($selected_radio == 'option1') 
        {
         $option1 = 'checked';
                     ?>
                      <a href="#">Download link 1</a>
                     <?php          
        }
        else if ($selected_radio == 'option2') 
        {
         $option2 = 'checked';
                     ?>
                      <a href="#">Download link 2</a>
                     <?php          
        }
        else if ($selected_radio == 'option3') 
        {
         $option3 = 'checked';
                     ?>
                      <a href="#">Download link 3</a>
                     <?php          
        }
        else if ($selected_radio == 'option4') 
        {
         $option4 = 'checked';
                     ?>
                      <a href="#">Download link 4</a>
                     <?php          
        }
    } 
?>

Вот что у меня есть для HTML-части:

<body>

<FORM NAME ="form1" METHOD ="POST" ACTION ="radioButton_test.php">

  <INPUT TYPE = 'Radio' Name ='cd_choice'  value= 'option1' <?PHP print $option1; ?>>
  This is the first CD
  <INPUT TYPE = 'Radio' Name ='cd_choice'  value= 'option2' <?PHP print $option2; ?>>
  This is the second CD
  <INPUT TYPE = 'Radio' Name ='cd_choice'  value= 'option3' <?PHP print $option3; ?>>
  This is the third CD
  <INPUT TYPE = 'Radio' Name ='cd_choice'  value= 'option4' <?PHP print $option4; ?>>
  This is the fourth CD
<P>
<center><INPUT TYPE = "Submit" Name = "Submit1"  VALUE = "Yes, please mail me a CD"></center>
<p><center><INPUT TYPE = "Submit" Name = "Submit2"  VALUE = "Send me download link instead"></center></p>
<div align="center"><a href="#">No thanks. </a></div>
</FORM>

Любая помощь будет принята с благодарностью. Спасибо!

1 ответ

Я взял на себя смелость немного почистить ваш HTML - обычно HTML в нижнем регистре в наши дни - но по сути вы можете изменить действие своей формы в зависимости от того, какая кнопка нажимается очень легко с помощью JavaScript:

<form name="form1" id="form1" method="POST" action="radioButton_test.php">
   <center><input type="Submit" name="Submit1" value="Yes, please mail me a CD" onclick="this.form.action='test1.php';alert(this.form.action);"></center>
   <p><center><input type="Submit" name="Submit2" value="Send me download link instead" onclick="this.form.action='test2.php';alert(this.form.action);"></center></p>
</form>

Вы захотите изменить имена форм "test1.php" и "test2.php" на ваши настоящие имена сценариев php и удалить alert(this.form.action); код, но это должно делать то, что вы хотите.

Кроме того, если вы хотите отправить обратно в тот же сценарий, вы можете просто проверить значение кнопки отправки. Кнопка отправки, которую вы нажмете, будет передана в сообщении, а другая - нет.

if ( !empty($_POST['Submit1']) )

Или же

if ( isset($_POST['Submit1']) )

Или же

if ( isset($_POST['Submit1']) && $_POST['Submit1'] == 'Yes, please mail me a CD' )
Другие вопросы по тегам