0

我正在尝试创建一个“谢谢”页面,用户在他/她选择了我们的一种形式后登陆该页面。在该页面上,用户可以选择免费 CD 作为礼物,并且只需支付运费。我想给用户一个选项来选择物理 CD 或数字 MP3。这里的逻辑是,首先我为用户提供了我连接到每个单选按钮的 4 张 CD 的选择。然后在下面会有第一个提交按钮,上面写着“是的,请邮寄一张 CD”。在第一个按钮下方会有第二个提交按钮,上面会显示类似“将下载链接发送给我”之类的内容。因此,如果用户单击任何单选按钮,然后单击第一个提交按钮,他们将被带到该 CD 的购物车,并提示他们支付 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>

任何帮助将不胜感激。谢谢!

4

1 回答 1

0

我冒昧地清理了你的 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' )
于 2013-04-25T04:33:48.113 回答