【发布时间】:2011-10-07 14:38:01
【问题描述】:
控制器User中的一个函数加载注册表单,例如:
public function signup()
{
$this->load->view('form_view');
}
所以注册表单的 url 会像 root/user/signup(忽略 index.php)
form_view 有一个表单,它被提交给同一个控制器中的另一个方法,比如说process(),例如。
<? echo form_open('user/process') ?>
提交表单后,它会转到包含验证码的user/process。如果有任何验证错误,它会再次加载form_view并将错误数据传递到表单上显示。
if ( $this -> form_validation -> run() === FALSE )
{
//$this -> load -> vars( $data );
$this -> load -> view( 'form_view' );
}
一切正常。但是现在由于从user/process函数加载了相同的form_view,所以表单的url将从:
root/user/signup
到
root/user/process
因为表单已提交到 URL user/process,而 form_view 是从 process() 调用的。当form_view从进程函数加载时,是否可以以某种方式重定向或维护原始表单url(root/user/signup)以防出错?
谢谢。
【问题讨论】:
-
我会使用 CI 文档中的方法,它会保留原始 URL,但不会发布到控制器中的另一个方法 codeigniter.com/user_guide/libraries/…
标签: php model-view-controller codeigniter views