Php CodeIgniter-显示成功或失败消息

Php CodeIgniter-显示成功或失败消息,php,codeigniter,Php,Codeigniter,我想知道是否有人可以让我知道他们如何处理CodeIgniter中的成功/失败消息 例如,当用户注册到我的站点时,我正在做的就是控制器中发生的事情 if (!is_null($data = $this->auth->create_user( $this->form_validation->set_value('username'), $this->form_validation->set_value('password') ))) { // Redire

我想知道是否有人可以让我知道他们如何处理CodeIgniter中的成功/失败消息

例如,当用户注册到我的站点时,我正在做的就是控制器中发生的事情

if (!is_null($data = $this->auth->create_user( $this->form_validation->set_value('username'), $this->form_validation->set_value('password') ))) {
    // Redirect to the successful controller
    redirect( 'create-profile/successful' );
} else {
    // Redirect to the unsuccessful controller
    redirect( 'create-profile/unsuccessful' );
}
然后在同一个控制器(创建概要文件)中,我有两种方法,如下所示

function successful()
{
    $data['h1title'] = 'Successful Registration';
    $data['subtext'] = '<p>Test to go here</p>';

    // Load the message page
    $this->load->view('message',$data);
}
函数成功()
{
$data['h1title']=“成功注册”;
$data['subtext']='测试是否转到此处

'; //加载消息页面 $this->load->view('message',$data); }
问题是,我只需访问site.com/create-profile/successful,它就会显示页面

如果有人能告诉我更好的处理方法,我将不胜感激


干杯,

不是重定向,而是显示不同的视图

以下是一些示例代码:

if ($this->input->server('REQUEST_METHOD') == 'POST')
{
    // handle form submission
    if (!is_null($data = $this->auth->create_user( $this->form_validation->set_value('username'), $this->form_validation->set_value('password') )))
    {
        // show success page
        $data['h1title'] = 'Successful Registration';
        $data['subtext'] = '<p>Test to go here</p>';

        // Load the message page
        $this->load->view('message',$data)
    }
    else
    {
        // show unsuccessful page
        $data['h1title'] = 'Unsuccessful Registration';
        $data['subtext'] = '<p>Test to go here</p>';

        // Load the message page
        $this->load->view('message',$data)
    }
}
else
{
    // show login page
    $data['h1title'] = 'Login';
    $data['subtext'] = '<p>Test to go here</p>';

    // Load the message page
    $this->load->view('login',$data)
}
if($this->input->server('REQUEST\u METHOD')=='POST')
{
//处理表格提交
如果(!为空($data=$this->auth->create\u user($this->form\u validation->set\u value('username'),$this->form\u validation->set\u value('password'))
{
//显示成功页面
$data['h1title']=“成功注册”;
$data['subtext']='测试是否转到此处

'; //加载消息页面 $this->load->view('message',$data) } 其他的 { //显示不成功的页面 $data['h1title']=“注册失败”; $data['subtext']='测试是否转到此处

'; //加载消息页面 $this->load->view('message',$data) } } 其他的 { //显示登录页面 $data['h1title']='Login'; $data['subtext']='测试是否转到此处

'; //加载消息页面 $this->load->view('login',$data) }
您不使用此选项的原因是什么:

if (!is_null($data = $this->auth->create_user( $this->form_validation->set_value('username'), $this->form_validation->set_value('password') ))) {
    $data['h1title'] = 'Successful Registration';
    $data['subtext'] = '<p>Test to go here</p>';

    // Load the message page
    $this->load->view('message',$data);
} else {
    $data['h1title'] = 'Unsuccessful Registration';
    $data['subtext'] = '<p>Test to go here</p>';

    // Load the message page
    $this->load->view('message',$data);
}
如果(!is_null($data=$this->auth->create_user($this->form_validation->set_value('username'),$this->form_validation->set_value('password')){
$data['h1title']=“成功注册”;
$data['subtext']='测试是否转到此处

'; //加载消息页面 $this->load->view('message',$data); }否则{ $data['h1title']=“注册失败”; $data['subtext']='测试是否转到此处

'; //加载消息页面 $this->load->view('message',$data); }
问候, stefan

您可以在重定向之前设置:

$this->session->set_flashdata('create_profile_successful', $some_data);
redirect( 'create-profile/successful' );

函数成功(){
if(FALSE==($data=$this->session->flashdata('create_profile_successful')){
重定向(“/”);
}
$data['h1title']=“成功注册”;
$data['subtext']='测试是否转到此处

'; //加载消息页面 $this->load->view('message',$data); }
考虑使用flash会话数据。无论何时检测到会话数据,打印警报或成功消息都将更加有效,而不是为每个成功/失败生成单独的页面。Hmmm,这似乎是有意义的。。。这将消除额外的url段,不是吗
function successful(){
    if( FALSE == ($data = $this->session->flashdata('create_profile_successful'))){
        redirect('/');  
    }

    $data['h1title'] = 'Successful Registration';
    $data['subtext'] = '<p>Test to go here</p>';

    // Load the message page
    $this->load->view('message',$data);
}