【问题标题】:How to determine if checkbox is checked using PHP?如何确定是否使用 PHP 检查了复选框?
【发布时间】:2011-06-13 22:13:17
【问题描述】:

当我在未选中复选框的情况下发布表单时,我收到了Notice: Undefined variable: myvariable

我需要检查复选框是否未选中。

我该怎么做?

【问题讨论】:

    标签: php html forms checkbox


    【解决方案1】:

    isset 函数会告诉您是否存在变量、数组中的键或对象中的公共属性:

    if (isset($variable)) {...
    if (isset($array['key'])) {...
    

    【讨论】:

      【解决方案2】:

      如果出现未定义,则执行以下操作:

      if(isset($_POST['myvariable'])){
          //this means it's checked... do something with it
      }else{
          //this means it's not checked.. do something else
      }
      

      【讨论】:

        【解决方案3】:

        如果表单提交没有设置它(即$_POST),一种常见的方法是将其默认为某个值(即false)。以下使用三元运算符,根据自己的喜好调整值:

         $checkbox_value = isset($_POST['myvariable']) ? $_POST['myvariable'] : false;
        

        【讨论】:

          【解决方案4】:

          在 html 表单上的同名复选框之前创建隐藏字段。

          
          <input type="hidden" value="0" name="check"/>
          <input type="checkbox" value="1" name="check"/>
          

          在这种情况下,值 $_POST['check'] 总是被定义

          【讨论】:

          • 为了澄清,在你的例子中, $_POST['check'] 将被定义;不是 $_POST['checkbox']。
          【解决方案5】:

          试试这个:

          if(!empty($_POST["foo"])) {
              //Do something...
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2011-01-13
            • 2011-01-13
            • 2012-10-21
            • 2014-02-17
            • 2011-06-12
            相关资源
            最近更新 更多