【问题标题】:HTML. How to pass check box value to php?HTML。如何将复选框值传递给php?
【发布时间】:2015-03-25 12:29:02
【问题描述】:

我有表单,这里是复选框,如何将值从复选框传递给 PHP?例如:如果选中复选框则通过1,如果未选中则通过0

我正在使用以下内容:

<input type="checkbox" name="letter" value="letter" id="letter" checked="checked">

这是我的表格:

  <form class="form"  method="post" action="GetFbId.php">
    <h2>Registration</h2><hr/>
    <label>First Name: </label>
    <input type="text" name="first_name" id="first_name" required>

    <label>Last Name: </label>
    <input type="text" name="last_name" id="last_name" required>

    <label>City: </label>
    <input type="text" name="city" id="city" required>

    <label>Email: </label>
    <input type="text" name="email" id="email" required><br>

    Accept to get letters 
    <input type="checkbox" name="letter" value="letter" id="letter" checked="checked">

    <input type="submit" name="register" id="register" value="Register">
  </form>

【问题讨论】:

    标签: php html post checkbox get


    【解决方案1】:

    $_POST['letter'] 当且仅当在表单提交期间选中复选框时才会设置。

    像这样测试:

    <?php
    if(isset($_POST['letter']))
    {
        // $_POST['letter'] is set, checkbox has been checked.
    }
    

    【讨论】:

      【解决方案2】:

      在 PHP 中,复选框输入要么设置在 $_POST 数组中,要么不设置。选中的复选框将被设置,未选中的复选框不会。

      如果您将复选框的值更改为 1,则 $_POST['letter'] 将变为 1

      <input type="checkbox" name="letter" value="1" id="letter">
      

      然后,如果您需要将 0 保存到 $letter 变量中(如果未选中),

      $letter = isset($_POST['letter']) ? $_POST['letter'] : 0;
      

      另一种选择是在前端执行此操作,您将值 0 或 1 保存到隐藏输入中,并在 PHP 端检查 $_POST['letter'] 的值,因为它总是有一个值

      <input type="hidden" value="0" name="letter" id="letter">
      <input type="checkbox" name="select_letter" value="1" id="select_letter"
           onchange="document.getElementById('letter').value = this.checked ? 1 : 0">
      

      【讨论】:

        【解决方案3】:

        提交表单后勾选复选框时,我们可以在php中获取复选框值

         <form class="form"  method="post" action="GetFbId.php">
        <h2>Registration</h2><hr/>
        <label>First Name: </label>
        <input type="text" name="first_name" id="first_name" required>
        
        <label>Last Name: </label>
        <input type="text" name="last_name" id="last_name" required>
        
        <label>City: </label>
        <input type="text" name="city" id="city" required>
        
        <label>Email: </label>
        <input type="text" name="email" id="email" required><br>
        
        Accept to get letters 
        <input type="checkbox" name="letter" value="letter" id="letter" checked="checked">
        
        <input type="submit" name="register" id="register" value="Register">
        

        提交表单后获取GetFbId.php中的复选框值

        <?php
        
        //get post value
        if(isset($_POST['letter']))
        {
            echo $letter =  $_POST['letter']; //get check box value
        }
        
        ?>
        

        【讨论】:

          【解决方案4】:

          你能试试这样的吗:

          <?php
              if(isset($_REQUEST['letter']) && $_REQUEST['letter']=="letter"){
                 $letter = $_POST['letter']; // check box value
              }
          ?>
          

          【讨论】:

            【解决方案5】:

            你可以这样使用

            <?
            if(isset($_POST['register']))
            {
               // other code
               $checkboxval= $_POST['letter']; //if checked 1 if not 0
            }        
            ?>
            

            【讨论】:

              【解决方案6】:
              <?php
              if(isset($_POST['letter'])){
                 $letter = true;
              }else{
                 $letter = false;
              }
              

              ?>

              这是你要求的吗?

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2020-04-09
                • 2020-06-24
                • 1970-01-01
                • 1970-01-01
                • 2014-12-29
                • 2019-05-04
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多