在表单提交代码编写器之后保护值


Protect values after form submission codeigniter

我想做的是显示表单验证错误,如果有任何和预填充表单。

<<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;
    }
}
?>