Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter多复选框问题_Php_Codeigniter - Fatal编程技术网

Php Codeigniter多复选框问题

Php Codeigniter多复选框问题,php,codeigniter,Php,Codeigniter,我使用codeigniter,我有一个非常简单的表单,它有几个复选框: <input type="checkbox" name="user_assign[]" value="' . $row->user_id . '"> 但下面是空的吗?我就是不明白 $user_assign = $this->input->post('user_assign'); 这怎么可能 控制器(这是该死的混乱,因为我已经尝试了1001件事情) 视图(这是非常基本的,因为我已经剥离了所有内

我使用codeigniter,我有一个非常简单的表单,它有几个复选框:

<input type="checkbox" name="user_assign[]" value="' . $row->user_id . '">
但下面是空的吗?我就是不明白

$user_assign = $this->input->post('user_assign');
这怎么可能

控制器(这是该死的混乱,因为我已经尝试了1001件事情)

视图(这是非常基本的,因为我已经剥离了所有内容,以便尝试通过这些值)


包含复选框的窗体

                        <?php echo form_open_multipart('assignments/update_course_assignment_org');?>
                        <table>
                            <tr>
                                <th>User</th>
                                <th>Assign course</th>
                            </tr>
                            <?php
                                foreach($users as $row) {                           

                                    echo '<tr>';
                                        echo '<td>' . $row->fname . ' ' . $row->sname . '</td>'; 
                                        echo '<td><input type="checkbox" name="user_assign[]" value="' . $row->user_id . '"></td>'; 
                                    echo '</tr>';

                                }
                            ?>
                            <tr>
                                <td>
                                    <input type="hidden" name="course_name" value="<?php echo $course[0]->course_name; ?>">                 
                                    <input type="submit" value="Assign" />
                                </td>
                            </tr>                               
                        </table>
                    </form>

使用者
指定课程

返回柱是一个数组,因此请尝试以下操作

$user_assign = $this->input->post('user_assign');
echo "<pre>";
print_r($user_assign);
$user\u assign=$this->input->post('user\u assign');
回声“;
打印(用户分配);

返回帖子是一个数组,请尝试以下操作

$user_assign = $this->input->post('user_assign');
echo "<pre>";
print_r($user_assign);
$user\u assign=$this->input->post('user\u assign');
回声“;
打印(用户分配);
试试这个

$user_assign[] = $_POST('user_assign');
print_r($user_assign);

试试这个

$user_assign[] = $_POST('user_assign');
print_r($user_assign);


同时检查表单的操作,作为操作class='controller/update\u course\u assignment\u org'

$assignmen = @$_POST['user_assign'];

试试这个

同时检查表单的操作,如action='controller/update\u course\u assignment\u org'

$assignmen = @$_POST['user_assign'];

试试这个

好的,所以我通过

不要问我怎么做或为什么


感谢大家为解决这个问题所做的努力

好的,所以我通过

不要问我怎么做或为什么



感谢大家为解决这个问题所做的努力

尝试检查此打印($this->input->post());参考:请输入视图和控制器代码尝试检查此打印($this->input->post());请参考:请将视图和控制器代码放入该代码,这会给我以下错误:致命错误:数组回调必须包含/home/enets/public_html/system/application/controllers/assignments.php中的索引0和180@frobak每个都试过了吗?是的,两个都试过了,两者都给出了相同的错误:致命错误:数组回调必须在第68行的/home/enets/public\u html/system/application/controllers/assignments.php中包含索引0和1($\u POST('user\u assign'))
和post answer致命错误:数组回调必须在第68行的/home/enets/public_html/system/application/controllers/assignments.php中包含索引0和1。这给了我以下错误:致命错误:数组回调必须在第68行的/home/enets/public_html/system/application/controllers/assignments.php中包含索引0和180@frobak你试过每一个了吗?是的,两个都试过了,两个都给出了相同的错误:致命错误:数组回调必须包含第68行
var\u dump($\u POST('user\u assign')上/home/enets/public\u html/system/application/controllers/assignments.php中的索引0和1
和post answer致命错误:数组回调必须在第68行的/home/enets/public\u html/system/application/controllers/assignments.php中包含索引0和1。您可以从控制器中的注释代码中看到这一点。数组/对象仍然为空?好的,我尝试了上面的代码,输出是:数组([user\u assign]=>Array([0]=>100002[1]=>100003)[course\u name]=>Slips&Trips]我可以回显/打印POST vars,我只是无法将数组放入控制器中使用为什么我不能用$this->input->POST('user\u assign')将POST vars放入控制器中。这根本没有任何意义?????让我们来试试。你可以从我的控制器中的注释代码中看到这一点。数组/对象仍然为空?好的,我尝试了上面的代码,输出是:数组([user\u assign]=>Array([0]=>100002[1]=>100003)[course\u name]=>Slips&Trips]我可以回显/打印POST vars,我只是无法将数组放入控制器中使用为什么我不能用$this->input->POST('user\u assign')将POST vars放入控制器中。这根本没有任何意义让我们看看这只是回应在提交之前你是否勾选了复选框?是的。我可以通过Firebug在帖子信息中看到正确的复选框等正在发布。数据就在那里,但由于某种奇怪的原因,它没有被控制器拾取。您是否通过ajax发布它?有没有url可以让我查看工作?没有,不是通过Ajax。是的,这只是一个演示系统,所以详细信息我会发送这只是回应你在提交前勾选了复选框吗?是的。我可以通过Firebug在帖子信息中看到正确的复选框等正在发布。数据就在那里,但由于某种奇怪的原因,它没有被控制器拾取。您是否通过ajax发布它?有没有url可以让我查看工作?没有,不是通过Ajax。是的,这只是一个演示系统,所以我会发送详细信息
foreach ($_POST('user_assign') as $item) {
    echo $item;
}
function update_course_assignment_org() {

   $this->form_validation->set_rules('user_assign','Check now','required');

   if($this->form_validation->run()){
     $data = $user_assign = implode(',',$this->input->post('user_assign') );
     print_r($_POST);
     exit;
  }
    $this->load->model('courses_model');
    $this->load->model('assignment_model');

    // get course id from posted course name
    $course_name = $this->input->post('course_name');
    $course_object = $this->courses_model->get_course_id($course_name);
    $course_id = $course_object[0]->course_id;

    //$user_assign = substr(implode(', ', $this->input->post('user_assign')), 0);


    //foreach ($this->input->post('user_assign') as $key => $value) {
        $test_obj = array(
           'course' => $data,
           'users' => $course_id,
           'org' => $this->input->post('course_name')
        ); 
    //}     

    //$this->assignment_model->save_org_assignments($user_ids);

    $this->template->write('title', 'Assignments');
    $this->template->write('navigation_strip', $this->load->view('navigation', array(), TRUE));         
    $this->template->write('content', $this->load->view('/assignments/assign_test', $test_obj, TRUE));

    $this->template->render();      


}   
$assignmen = @$_POST['user_assign'];