编码器控制器功能


Codeigniter controller functions

在我的控制器中我有一个注册新成员的视图。

而不是创建一个全新的函数,例如

public function show_registration(){
$this->load->view('registration');
}
public function validate_registration(){
}

而不是做上面的一个,我做了一个函数来显示视图,然后一个新的从视图接收数据,我做了这样的

public function registration(){
if(array_key_exists('submit',$_POST)){
/////if exist process the data here
}else
$this->load->view('registration');
}

上面的if语句检查是否有数据提交给函数,如果没有,则显示视图,否则将处理数据。

这似乎是一种更理想的方式,对吗?然后我想,如果这会引起问题怎么办?

这有可能破坏我的项目吗?我现在开始,我只是想知道我是否应该继续我现在的方式,或者我应该创建一个单独的显示视图。

**编辑:我刚刚意识到,这并不一定检查所有提交的数据,但只有数据提交的按钮的名称'提交',所以只要我保持提交按钮的名称为每个表单尽可能唯一,然后我应该是好的。

示例:注册表单,按钮名称应该是registration.**

下面是一个使用codeigniter的示例

class Form extends CI_Controller {
    function index()
    {
        $this->load->helper(array('form', 'url'));
        $this->load->library('form_validation');
        if ($this->form_validation->run() == FALSE)
        {
            $this->load->view('myform');
        }
        else
        {
            $this->load->view('formsuccess');
        }
    }
}

使用Codeigniter,您必须遵循Codeigniter -form-validation来加载视图或提交表单,有关更多信息,请访问Codeigniter form_validation库