【问题标题】:post checkbox value发布复选框值
【发布时间】:2013-01-24 17:34:45
【问题描述】:

我想在 booking.php 页面上发布复选框的值。

页面上有很多复选框,但我不知道如何在booking.php 页面上发帖。

<form name="booking.php" method="post">
    <label for="tour" class="tour-label">Add to Tour List</label>
    <input type="checkbox" name="booking-check" value="Desert Safari" />
</form>
<div class="details"><a href="booking.php">Book Selected Tours</a></div>

【问题讨论】:

    标签: php checkbox


    【解决方案1】:

    有许多链接可以让您知道如何在 php.ini 中处理来自复选框的帖子值。 看这个链接:http://www.html-form-guide.com/php-form/php-form-checkbox.html

    单个复选框

    HTML 代码:

    <form action="checkbox-form.php" method="post">
        Do you need wheelchair access?
        <input type="checkbox" name="formWheelchair" value="Yes" />
        <input type="submit" name="formSubmit" value="Submit" />
    </form>
    

    PHP 代码:

    <?php
    
    if (isset($_POST['formWheelchair']) && $_POST['formWheelchair'] == 'Yes') 
    {
        echo "Need wheelchair access.";
    }
    else
    {
        echo "Do not Need wheelchair access.";
    }    
    
    ?>
    

    复选框组

    <form action="checkbox-form.php" method="post">
        Which buildings do you want access to?<br />
        <input type="checkbox" name="formDoor[]" value="A" />Acorn Building<br />
        <input type="checkbox" name="formDoor[]" value="B" />Brown Hall<br />
        <input type="checkbox" name="formDoor[]" value="C" />Carnegie Complex<br />
        <input type="checkbox" name="formDoor[]" value="D" />Drake Commons<br />
        <input type="checkbox" name="formDoor[]" value="E" />Elliot House
    
        <input type="submit" name="formSubmit" value="Submit" />
     /form>
    
    <?php
      $aDoor = $_POST['formDoor'];
      if(empty($aDoor)) 
      {
        echo("You didn't select any buildings.");
      } 
      else
      {
        $N = count($aDoor);
    
        echo("You selected $N door(s): ");
        for($i=0; $i < $N; $i++)
        {
          echo($aDoor[$i] . " ");
        }
      }
    ?>
    

    【讨论】:

    • 那么,如果我理解多选的结果是一个包含所有值的数组?我们必须为此使用[ ] 吗?
    • @Sébastien Garcia-Roméo:是的!在复选框组代码的最后,您可以看到有一个 for 循环用于循环选定的值。
    【解决方案2】:

    在正常情况下,复选框会返回一个开/关值。

    您可以使用以下代码进行验证:

    <form action method="POST">
          <input type="checkbox" name="hello"/>
    </form>
    
    <?php
    if(isset($_POST['hello'])) echo('<p>'.$_POST['hello'].'</p>');
    ?>
    

    这将返回

    <p>off</p>
    

    <p>on</p>
    

    【讨论】:

      【解决方案3】:

      你应该使用

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

      在您的form 中。

      并将action 添加到您的form 标记中,例如:

      <form action="booking.php" method="post">
      

      它会将您的表单发布到您选择的操作中。

      你可以通过 php 获取这个值

      $_POST['booking-check'];
      

      【讨论】:

      • 我认为同样重要的是要注意复选框输入只有在被选中的情况下才能通过 $_POST 使用 - 否则它们不会被设置。
      【解决方案4】:

      在你的表单标签中,而不是

      name="booking.php"
      

      使用

      action="booking.php"
      

      然后,在 booking.php 中使用

      $checkValue = $_POST['booking-check'];
      

      另外,你需要一个提交按钮

      <input type='submit'>
      

      【讨论】:

      • 我找到了但是没有在 booking.php 页面上找到打印值
      • 上面的代码不会打印你的结果,只是从服务器获取。如需打印,加print $checkValue;
      • 谢谢!我只是在网上学习php。这就是为什么会出现问题。
      • 先生,我有问题。检查多个框时,如果我放置没有复选框表单的提交按钮,它不会打印多个值。如果您访问此链接,您会更好地理解:intriguedesigners.com/test/dubai-tours.php
      • 您需要为每个复选框重复 $checkValue = $_POST['booking-check'];,为每个复选框使用不同的输入名称和 PHP 变量。
      猜你喜欢
      • 1970-01-01
      • 2013-05-21
      • 1970-01-01
      • 1970-01-01
      • 2014-12-30
      • 2014-11-30
      • 2014-02-05
      • 1970-01-01
      • 2010-12-06
      相关资源
      最近更新 更多