我的表单有问题。我需要它根据选择的单选按钮将用户重定向到不同的页面。用户必须从两个选项中选择一个,然后单击“下一步”,根据他的选择,页面应将其重定向到其他页面。
以下是现在查找的代码
<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");
非常感谢您的帮助
答案 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
显示为红色/错误。