【问题标题】:Send radio box value with $_POST使用 $_POST 发送单选框值
【发布时间】:2015-02-27 07:27:11
【问题描述】:

即使字段为空,如何将单选或复选框值发送到 $_POST 数组?

<?php
    if(isset($_POST)) {
        echo '<pre>';
        print_r($_POST);
        echo '</pre>';
    }
?>

<form action="test.php" method="POST">
    <input type="text" name="name">
    <input type="text" name="email">
    <input type="radio" name="gender">

    <input type="submit"> 
</form>

如果我在没有填写数据的情况下点击提交,这就是我从页面中得到的结果。

Array
(
    [name] => 
    [email] => 
)

如您所见,在不触及输入类型文本的情况下,它们的值被推送到 $_POST 数组。如何使用单选框做到这一点?我基本上想“设置”它,虽然它和文本输入一样是空白的。

我知道我总是可以打电话

<?php
  if(isset($_POST['gender'])) {
     //Code
  }
?>

但这不一定是我想要的。我需要它自动设置。提前致谢!

【问题讨论】:

    标签: php html forms post radio-button


    【解决方案1】:

    应该是:

    HTML:

    <form action="test.php" method="POST">
        <input type="text" name="name">
        <input type="text" name="email">
        <input type="radio" name="gender" value="male"/>Test
        <input type="submit" name="submit" value="submit"/>
    </form>
    

    PHP 代码:

    if(isset($_POST['submit']))
    {
    
        echo $radio_value = $_POST["radio"];
    }
    

    【讨论】:

      【解决方案2】:

      试试这个吧:

      Unchecked radio 元素未提交,因为它们不被视为successful。因此,您必须检查它们是否使用issetempty 函数发送。

      <?php
          if(isset($_POST)) {
              echo '<pre>';
              print_r($_POST);
              echo '</pre>';
          }
      ?>
      
      <form action="test.php" method="POST">
          <input type="text" name="name">
          <input type="text" name="email">
          <input type="radio" name="Gender" value="1"/>Male
          <input type="submit" name="submit" value="submit"/>
      </form>
      

      【讨论】:

      • 嗯,看起来它只是将“提交”项添加到 $_POST 数组中。我得到了结果`数组([name] => [email] => [submit] => submit)`
      • @xToxikx,您只能在$_POST 数组中获得checked 无线电的值。我编辑了我的答案。希望对你有帮助。
      • 啊,好吧,我试图避免这种情况,因为我不想仅仅假设用户是特定的性别,但看起来这可能是唯一的选择。谢谢!
      【解决方案3】:

      如果您想自动发送空白值,那么
      默认情况下选中该单选按钮并设置空白值:

      <form action="test.php" method="POST">
      
      <input type="text" name="name">
      <input type="text" name="email">
      <input type="radio" name="gender" value='' checked>
      
      <input type="submit"> 
      </form>
      

      【讨论】:

        【解决方案4】:

        考虑这个例子:

        // Set a default value as male
        <input type="radio" name="gender" checked value="male"> Male
        <input type="radio" name="gender" value="femail"> Female
        

        你会得到价值

        Array
        (
            [name] => 
            [email] => 
            [gender]=>male
        )
        

        您只能在$_POST 数组中获得checked 无线电

        【讨论】:

        • 是的,我之前确实研究过这个并让它工作。这是一种选择,唯一的问题是我们自动假设用户是“男性”或“女性”。只是一种美学上的东西,但也许我只需要做出这种牺牲。谢谢!
        • @xToxikx,如果没有checked 数组中的checked 属性,您将无法获取单选按钮值。
        【解决方案5】:
        HTML :
        <form action="test.php" method="POST">
        <input type="text" name="name">
        <input type="text" name="email">
        <input type="radio" name="gender" checked  value="male"/>Male
        <input type="radio" name="gender" value="female"/>Female
        <input type="submit" name="submit" value="submit"/>
        </form>
        
        PHP :
         if(isset($_POST)) {
            echo '<pre>';
            print_r($_POST);
            echo '</pre>';
        }
        

        【讨论】:

          【解决方案6】:
          <form action="" method="POST">
          <input type="text" name="name">
          <input type="text" name="email">
          <input type="radio" name="gender" checked value="male"> Male
          <input type="radio" name="gender" value="femail"> Female
          <input type="submit" value="submit"> 
          </form>
          
          <?php
          if(isset($_POST)) {
              echo '<pre>';
              print_r($_POST);
              echo '</pre>';
          }
          ?>
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-01-10
            • 1970-01-01
            • 1970-01-01
            • 2021-11-20
            相关资源
            最近更新 更多