【问题标题】:How to determine if checkbox is selected using PHP?如何确定是否使用 PHP 选择了复选框?
【发布时间】:2013-08-22 01:24:06
【问题描述】:

大家好,我只是想问一下我的代码有什么问题,因为我要做的是确定是否选中了复选框。如果选中,则将其分配给“Y”,如果不是“N”。 这是我的代码

HTML

<input type="checkbox" name="cash_delivery" />

PHP

$cash_delivery = $this->input->post('cash_delivery');

if(isset($cash_delivery)){
   echo 'Y';
}else{
   echo 'N';
}

exit;

我的问题是,如果我取消选中复选框,如果还选中了“Y”,它会返回“Y”

在此先感谢大家。顺便说一句,我正在使用 Codeigniter

【问题讨论】:

  • if($cash_delivery == FALSE){//logic}
  • 不要在标题上加上SOLVED这个短语,如果这些给出的答案中的任何一个是正确的,请标记它,否则自己发布正确的答案。

标签: php codeigniter


【解决方案1】:
if(isset($cash_delivery)){
   echo 'Y';
}else{
   echo 'N';
}

由于之前的语句,将始终返回 true:

$cash_delivery = $this->input->post('cash_delivery');

你应该检查

if ($cash_delivery==false)
{
  //do domething
}
else 
{
  //do some other thing
}

【讨论】:

    【解决方案2】:

    $cash_delivery 始终设置为已在此处初始化,$cash_delivery = $this-&gt;input-&gt;post('cash_delivery');。尝试检查 $cash_delivery 的值而不是 isset()

    【讨论】:

      【解决方案3】:

      好的,谢谢大家的回答,但我找到了解决方案。

      而不是用于检查 $cash_delivery = $this->input->post('cash_delivery');

      我使用了 $_POST['cash_delivery']

      这就是我所做的:

      if(isset($_POST['cash_delivery'])){
         $val_delivery = 'Y';
      }else{
         $val_delivery = 'N';
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多