嘿伙计们我是codeigniter的新手,我有一个像这样的表格
<form class="addinvestmentform" action="<?php echo base_url();?>index.php/ctl_dbcont/input_investment/$id" name="application" method="post" >
//some code
</form>
我有一个控制器方法
function input_investment($id)
{
$this->load->helper('form');
$this->load->helper('html');
$this->load->model('mod_user');
$this->mod_user->insertinvestment($id);
}
我想从表单操作获取$ id到控制器方法我该怎么做呢。 。请帮助我 。
答案 0 :(得分:2)
最好传递隐藏字段中的值
<form class="addinvestmentform" action="<?php echo base_url();?>index.php/ctl_dbcont/input_investment" name="application" method="post" >
<input type="hidden" name="my_id" value="<?php echo $id; ?>"/>
</form>
你的ci函数中的
function input_investment() {
$id = $this->input->post('my_id');
$this->load->helper('form');
$this->load->helper('html');
$this->load->model('mod_user');
$this->mod_user->insertinvestment($id);
}
或者如果你想要(测试)
//示例视图
<?php $id = 1; ?>
<form action="<?php echo base_url('my_class/my_method/' . $id); ?>" method="post" >
<input type="submit" />
</form>
//控制器
class My_class extends CI_Controller {
public function index() {
$this->load->view('my_class');
}
public function my_method($id) {
echo $id; // outputs 1
}
}
答案 1 :(得分:1)
如果你想要价值,你需要在元素中使用PHP和echo $ id,现在你需要发送&#39; $ id&#39;到input_investment($ id)。
<form class="addinvestmentform" action="<?php echo base_url();?>index.php/ctl_dbcont/input_investment/<?php echo $id; ?>" name="application" method="post" >
//some code
</form>
答案 2 :(得分:0)
这里你的表单方法是post,所以你通过get方法获取id,你可以这样做
<form class="addinvestmentform" action="<?php echo base_url();?>index.php/ctl_dbcont/input_investment" name="application" method="post" >
<input type="hidden" name='id' value="<?php echo $id;?>">
</form>
在您的控制器中,您可以尝试使用
这样的帖子$id = $_POST['id'];
或
$id = $this->input->post('id');
如果您尝试从表单中向控制器发送单个或多个数据,那么在所有情况下,它都会为您提供更好的选择....
答案 3 :(得分:0)
$route['ctl_dbcont/input_investment/(:num)'] = "ctl_dbcont/input_investment/$1";
只需在配置/路由中添加此行:)。
这仅适用于数字,如果您有其他类型的ID可以使用(:any)
其他选项是直接使用以下方式捕获id:
$id = $this->uri->segment(3);
其中segment(3)是您域之后的第三个元素:
http://domain/segment1/segment2/segment3