drplww2505 2016-02-19 06:23
浏览 9
已采纳

PHP需要复选框字段

I have a form with multiple checkboxes. I want to allow the user to select at least 1 in each checkbox field, if the user does not check any of the options in the checkbox, a message will display "You have to select at least one." How do I do it? I have here some of my codes:

<div>
    <div><span class="font-2">Categories:</span></div>
</div>

<div class = "addinfo">
    <?php $categories = array('Breakfast', 'Lunch', 'Dinner', 'Snack', 'Grill', 'Buffet', 'Fast Food');
          $values = explode(',' , $row['categories']);
    ?>

    <?php foreach($categories as $category) {
        $cat='';
        foreach($values as $value){
        if($value == $category){
        $cat ="checked";    
    }

    ?>
    <input <?php echo $cat ?> type="checkbox" name="category[]" value="<?php echo $category?>"><?php echo $category?><br>
    <?php } 
    }?>
</div>  

form

<form method = "POST" action = "<?php echo base_url().'/index.php/AdminController/operation'?>">

AdminController

public function addResto(){
    $this->load->model('AdminModel');
    $this->AdminModel->insert();
    $this->getRestos();
}
public function operation(){

    if(isset($_POST['btn'])){
        if(empty($_POST['id'])){
            $this->addResto();
        }
        else{
            $this->updatingResto();
        }   
    }
}
public function updateResto($id){
    $this->load->model('AdminModel');
    $restaurantinfo['restaurantinfo']=$this->AdminModel->getResto($id);
    $this->load->view('admin/UpdateRestoPage',$restaurantinfo);
}

public function updatePage(){
    $this->load->view('admin/UpdateRestoPage');
}

public function updatingResto(){
    $id = $_POST['id'];
    $this->load->model('AdminModel');
    $this->AdminModel->update($id);

}
  • 写回答

5条回答 默认 最新

  • duanchan5458 2016-02-19 07:21
    关注

    You should also check if there is a checkbox that is checked

    public function operation(){
        if(isset($_POST['btn'])){
            if(empty($_POST['category'])){
                $this->load->view('YOUR_VIEW_FILE',array('error'=>'category'));
            }else if(empty($_POST['id'])){
                $this->addResto();
            }
            else{
                $this->updatingResto();
            }   
        }
    }
    

    your view file add a condition

    <?php 
        if(!empty($error) && $error=="category"){
    ?>
        <script>alert("You have to select at least one.");</script>
    <?php 
        } 
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 被蓝屏搞吐了,有偿求帮解答,Ai回复直接拉黑
  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角