php - 检查是否使用 POST 检查单选按钮

标签 php html forms radio-button

我正在尝试根据用户选中的单选按钮将用户重定向到另一个网页。

相关代码如下:

  <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/

相关文章:

php - 是否可以有条件地 require_once、设置全局变量或设置常量?

javascript - 使用 Jquery 滑动侧边菜单栏

html - 一些背景图片在 iPad 上不显示

html - 在我的页脚链接中添加 "/"字符 wordpress

php - 在 PHP 中使用 API v3 获取 Youtube 上的视频详细信息

php - 使用多个 MySql 列创建内联数组

javascript - 在 AJAX 调用期间替换表单时,警告用户未保存的表单更改?

javascript - 使用 jquery 检查多个文本区域字段的值,然后执行函数

javascript - 从不同 div 中的输入值填充文本区域

Php 仅在 ssl 上注释掉