【问题标题】:Can not get radio values in php无法在 php 中获取单选值
【发布时间】:2015-02-15 10:14:33
【问题描述】:

好的,这是一个菜鸟问题,但我一直在搜索和搜索,无法找到如何做到这一点。我无法使用 php 获取单选按钮的值。

<!DOCTYPE html>
<html>
    <body>
        <form action="" method="POST">
            Do you buy your lunch?
            <br>
            <input type="radio" name="doyoubuy" value="Yes" checked>Yes
            <br>
            <input type="radio" name="doyoubuy" value="No">No
            <br><br>
            <input type="submit" value="submit">
        </form>
        <?php
            if (isset($_POST['submit'])) {
                if (isset($_POST['doyoubuy'])) {
                    echo "You have selected :".$_POST['doyoubuy'];
                }
            }
        ?>
    </body>
</html>

谢谢!!!

【问题讨论】:

    标签: php html forms radio-button


    【解决方案1】:

    动作应该是当前页面。在你的情况下是“”

    【讨论】:

    • 虽然根据 HTML 规范在技术上是无效的...所有现代浏览器的行为都是在操作为空时提交到当前 URL。
    【解决方案2】:

    你正在检查if (isset($_POST['submit'])) {

    但是您的提交按钮实际上并没有命名...

    所以就命名吧:

    &lt;input type="submit" value="submit" name="submit"&gt;

    那么你的收音机代码应该可以正常工作了。

    【讨论】:

      【解决方案3】:

      我建议您考虑以下 HTML 和 PHP:

      <html>
          <body>
              <form method="POST">
                  Do you buy your lunch?
                  <br>
                  <input type="radio" name="doyoubuy" value="Yes" checked>Yes
                  <br>
                  <input type="radio" name="doyoubuy" value="No">No
                  <br><br>
                  <input type="submit" name="submit" value="submit">
              </form>
      
              <?php
              if (isset($_POST) && $_POST != NULL) {
                if ( $_POST['doyoubuy']  == 'Yes' || $_POST['doyoubuy'] == 'No') {
                   $answer = $_POST['doyoubuy'];
                   echo "You selected :". $answer;
                }
              }
              ?>
      
          </body>
      </html>
      

      需要测试的是表单是否提交。如果是这样,假设每个字段在表单中都有一个名称,那么某个类型的值将与每个字段相关联,这样就无需测试是否设置了提交按钮。此外,如果用户提交了一个表单但没有填写,例如,一个文本输入,那么该字段的值仍然会被设置;它将被设置为一个空字符串。

      不建议信任已发布的表单值并认为它可以安全使用。在这种情况下,我会测试以确保答案是我所期望的,以防万一有人欺骗了表单并将答案更改为我想要的以外的其他内容。

      默认情况下,如果省略了表单的ACTION属性,则其值为包含表单的页面的url。

      【讨论】:

        猜你喜欢
        • 2012-04-13
        • 1970-01-01
        • 2023-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多