我想做的是显示表单验证错误,如果有任何和预填充表单。
<<p> 视图/strong><input type="hidden" value="<?php echo $_GET['project_id']; ?>" name="project_id" id="project_id">
<input type="text" value="<?php echo set_value('name'); ?>" name="name" id="name">
控制器$validation_rules = $this->access_m->rules;
$this->form_validation->set_rules($validation_rules);
if($this->form_validation->run()){
// process the form
}else{
$data= array(
'subview'=>'access/access',
);
$this->load->view('layout', $data, FALSE);
}
现在的问题是,我可以预填充名称的值,但是我如何预填充project_id
字段的值呢?由于字段的值是从GET
方法中提取的,是否有任何方法可以将它传递回视图,以便我可以再次使用它?
我可以使用重定向并将项目ID添加到url中作为example.com/access?project_id=23
,但随后我会丢失值以预填充到其余的表单字段。
有解决方案吗??
创建接受参数example.ufo/controller/accept/<id>
的方法
从现在开始你不需要隐藏字段,你的id可以在方法中访问更多信息在这里http://ellislab.com/codeigniter/user-guide/general/controllers.html#passinguri
的例子:
<?php
class User extends CI_Controller {
public function accesible( $id = false) {
//necessary checks, is id valid? is it numeric? is id in database?... does user have permission to work with element with this ID?
echo $id;
}
}
?>