如何获取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);
我有一个问题,我需要提交或重定向到相同 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);