如何获取URI的id,提交后插入数据库?代码点火器

How to get the id of the URI, to insert it to database after submit? Codeigniter

我有一个问题,我需要提交或重定向到相同 uri 的页面。

这里的主要问题是url的id没有被读取或者没有得到, 我怎样才能让它插入到我的数据中。

提交页面后出现错误

An uncaught Exception was encountered
Type: ArgumentCountError

例如我的URL是:http://localhost/project/groups/view_activity/1

然后我需要提交给控制器/posts/create_activity

这里是控制器/posts/create_activity

public function create_activity($id){

    $this->post_model->create_activity();

    redirect('groups/view_activity/'.$id);
}

还有我的模型,我希望 $id 是 URI

public function create_activity($id){
        // Insert questions

        $field_question = array(
            'question'=>$this->input->post('question'),
            'group_id' => $id
        );

        $this->db->insert('questions', $field_question);
}

表单提交

<form method="post" action="<?php echo base_url(); ?>posts/create_activity">


    <div class="form-group">
        <label for="exampleFormControlTextarea1"><h5> Question: </h5></label>
             <textarea class="form-control" name="question" id="question" rows="8" placeholder="Enter your Question"></textarea>
    </div>

        <hr>


    <input type="submit" id="btnSave" class="btn btn-block btn-info" value="Submit" />

 </form>

您必须将 $id 从您的 view_activity 控制器方法传递到您的视图,或者您可以直接从视图中的 uri 获取它。 之后将您的form action 更改为

<form method="post" action="<?php echo base_url('posts/create_activity/'.$id); ?>">.

或者,如果您不想在 uri 中使用它,您可以添加一个隐藏的 input,其值为 $id

将 Id 传递到模型函数中

$this->post_model->create_activity($id);