Codeigniter - on更改密码显示更改密码成功


codeigniter- on change password display change password successful

到目前为止,我的代码正在工作并更改用户密码。我现在想显示用户,他们的密码已成功更改,否则说再试一次,但我不能让它发生。任何帮助将不胜感激,谢谢。

这是控制器:

public function change_password($arg = "admin")
{
    if(isset($_POST['data']) && !empty($_POST['data']))
    {
        $this->load->library('form_validation');
        $this->form_validation->set_rules('data[oldpassword]', 'old password', 'required');
        $this->form_validation->set_rules('data[password]', 'password', 'trim|required');
    $this->form_validation->set_rules('data[passconf]', 'password Confirmation', 'trim|required|md5|matches[data[password]]');

        if ($this->form_validation->run() == FALSE)
        {
            $data['requestee'] = $arg;
            $this->load->view('change_password', $data);
        }
        else
        {
            $data = $_POST['data'];
            array_pop($data);
            $data['requestee'] = $arg;
            $data['email'] = $this->session->userdata('email');
            //print_r($data); exit;
            if($data['requestee'] == "admin")
            {
                $this->load->model('login_model');
                if($this->login_model->updatepassword($data))
                {
                    redirect('/admin/show', 'refresh');
                }
                else
                {
                    redirect('login/change_password/');
                }
            }
            elseif($data['requestee'] == "org")
            {
                $this->load->model('login_model');
                if($this->login_model->updatepassword($data))
                {
                    redirect('/organizer/show', 'refresh');
                }
                else
                {
                    redirect('login/change_password/org');
                }
            }
            else 
            {
                echo "could not change password";
            }
        }
    }
    else 
    {   
        $data = array('requestee' => $arg);
        $this->load->view('change_password', $data);
    }
}

视图如下:

     <form action="<?php echo site_url('login/change_password'); ?>" class="login-wrapper" method="post">
                      <div class="header">
                        <div class="row-fluid">
                          <div class="span12">
                            <h3>Change password<img src="<?php echo asset_url();?>img/logo1.png" alt="Logo" class="pull-right"></h3>
                            <p>Fill out the form below to change your password.</p>
                          </div>
                        </div>
                      </div>
                      <div class="content">
                        <div class="row-fluid">
                          <div class="span12">
                            <input class="input span12 password" id="" name="data[oldpassword]" placeholder="Old password" required="required" type="password" value="<?php echo set_value('oldpassword'); ?>">
                          </div>
                        </div>
                        <div class="row-fluid">
                          <div class="span12">
                            <input class="input span12 password" id="" name="data[password]" placeholder="New password" required="required" type="password" value="<?php echo set_value('password'); ?>">
                          </div>
                        </div>
                        <div class="row-fluid">
                          <div class="span12">
                            <input class="input span12 password" id="" name="data[passconf]" placeholder="Confirm new password" required="required" type="password" value="<?php echo set_value('passconf'); ?>" >
                          </div>
                        </div>
                      </div>
                      <div class="actions">
                        <input class="btn btn-danger" name="change_password" type="submit" value="Change" >
                        <div class="clearfix"></div>
                      </div>
                    </form>

似乎在更改用户密码后,您正在使用重定向将用户返回到另一个页面。

在控制器中,在进行重定向之前,您可以使用codeigniter会话数据在flashdata中设置消息,如下所示:
$this->session->set_flashdata('message', 'Your Password Was Successfully Changed');

或$this->session->set_flashdata('message', 'Your Password Was Not Changed');

然后在视图中添加:

<?php echo $this->session->flashdata('message'); ?>

请注意,为了使其工作,如果您还没有这样做,您将需要手动加载会话库在每个页面上使用它,或将其添加到您的autolload .php文件