Home >Backend Development >PHP Tutorial >CI框架的一个问题
<code>public function login() { $this->load->view('login'); }</code>
index/login
。login_check()
方法<code>public function login_check() { $this->form_validation->set_rules('email', 'email', 'trim|required|valid_email'); $this->form_validation->set_rules('password', 'password', 'trim|required'); if ($this->form_validation->run() === true) { //..... }else{ $this->load->view('login'); } }</code>
$this->form_validation->run()
表单校验失败,再次输出 login 视图,同时显示提示错误。index/login_check
。login()
和 login_check()
合并处理可以实现之外,还有什么更好的办法吗?<code>public function login() { $this->load->view('login'); }</code>
index/login
。login_check()
方法<code>public function login_check() { $this->form_validation->set_rules('email', 'email', 'trim|required|valid_email'); $this->form_validation->set_rules('password', 'password', 'trim|required'); if ($this->form_validation->run() === true) { //..... }else{ $this->load->view('login'); } }</code>
$this->form_validation->run()
表单校验失败,再次输出 login 视图,同时显示提示错误。index/login_check
。login()
和 login_check()
合并处理可以实现之外,还有什么更好的办法吗?
你用ajax提交表单就好了, 这样不会导致页面跳转到login_check
验证失败就跳转到login?error=err_code
CI里面使用redirect('index/login')
这个函数进行跳转
在你的else
里使用
想优雅的解决这个问题,需要用到路由,
判断 http
动词,映射到相应方法即可