无法在 php 中获取单选值

Posted

技术标签:

【中文标题】无法在 php 中获取单选值【英文标题】:Can not get radio values in 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>

谢谢!!!

【问题讨论】:

【参考方案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。

【讨论】:

以上是关于无法在 php 中获取单选值的主要内容,如果未能解决你的问题,请参考以下文章

在 iframe 中获取单选值

动态创建单选按钮并分配选定的值 PHP

无法从离子中的下拉列表中获取所选值

如何在 PHP 中使用 AJAX 获取选中的单选按钮值?

无法设置所选值

如何上传以 html 表单输入的单选按钮值