我正在尝试根据用户选中的单选按钮将用户重定向到另一个网页。
相关代码如下:
<form action="sample.php" method="post">
<input name="survey" type="radio" value="Yes" /> Yes
</br>
<input name="survey" type="radio" value="No" /> No
</form>
<?
if ($_POST['survey'] == "Yes")
{
header('Location: http://localhost/survey.php');
}
else if ($_POST['survey'] == "No")
{
header('Location: http://localhost/survey.php');
}
?>
由于某种原因,我的 if 语句中出现错误。这不会将“调查”识别为有效索引。我为什么无法将我的表单链接到 php 代码?
最佳答案
您的警告是由于以下事实引起的:当您使用 GET
(正常请求)加载页面时,未设置 $_POST['survey']
。
您可以通过在每次使用时添加 isset($_POST['survey'] ) &&
来更改您的条件,或者您可以将整个代码放在一个 block 中,检查是否一个帖子是这样的:
if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
if ($_POST['survey'] == "Yes")
{
header('Location: http://localhost/survey.php');
}
else if ($_POST['survey'] == "No")
{
header('Location: http://localhost/survey.php');
}
}
else
{
// output html
}
无论哪种方式,您都必须将其放在 html 前面,因为如果 header 已发送(内容已输出到浏览器),则无法使用 header
。
关于php - 检查是否使用 POST 检查单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13484719/