提交单选按钮选项后重定向到其他页面

时间:2014-08-15 17:47:30

标签: php forms radio-button

我的表单有问题。我需要它根据选择的单选按钮将用户重定向到不同的页面。用户必须从两个选项中选择一个,然后单击“下一步”,根据他的选择,页面应将其重定向到其他页面。

以下是现在查找的代码

        <fieldset>
        <legend>Select option</legend>

        <center>
        <form method="post" action="">
        <input type="radio" name="radio1" value="Osoba fizyczna"/>Non-company
        </br>
        <input type="radio" name="radio2" value="Firma"/>Company
        </br>
        <input type = "submit", class = "buttonStyle2", value=""/>
        </form>
        </center>
    </fieldset>

然后是php代码

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

header("Location: http://myaddress.com/company.php"); 

非常感谢您的帮助

2 个答案:

答案 0 :(得分:0)

<fieldset>
    <legend>Select option</legend>
    <center>
    <form method="post" action="">
    <input type="radio" name="radio1" value="Osoba fizyczna"/>Non-company
    </br>
    <input type="radio" name="radio1" value="Firma"/>Company
    </br>
    <input type = "submit" class = "buttonStyle2" value=""/>
    </form>
    </center>
</fieldset>

if ( isset($_POST['radio1']) ) {
    $filename = $_POST['radio1'] . "php";
    header("Location: http://myaddress.com/".$filename); 
}

使用允许值设置数组可能会更好,并检查radio1是否在该数组中。

答案 1 :(得分:0)

这是实现这一目标的一种方法。

旁注: 确保您没有在标头之前输出。 Consult this page on Stack关于可能的Headers already sent...,如果发生这种情况并确保设置/ error reporting

否则,PHP将无声地失败。


if(isset($_POST['radio1']) && ($_POST['radio1']) == "Osoba fizyczna"){

    header("Location: http://www.example.com/non_company.php"); 

 }

elseif(isset($_POST['radio1']) && ($_POST['radio1']) == "Firma"){

    header("Location: http://www.example.com/company.php"); 

 }

 else{
        header("Location: http://www.example.com/redirect_to_home.php"); 
}

Nota: else如果此人没有做出选择,只是点击“提交”而不做出选择就会出现。{/ p>

在表单中使用相同组名的单选按钮时:

<input type="radio" name="radio1" value="Osoba fizyczna"/>Non-company
</br>
<input type="radio" name="radio1" value="Firma"/>Company

注意

<input type = "submit", class = "buttonStyle2", value=""/>

删除逗号

<input type = "submit" class = "buttonStyle2" value=""/>

由于FF中的HTML源会将No space between attributes显示为红色/错误。