Php codeigniter-更改密码显示时更改密码成功
到目前为止,我的代码正在运行并更改用户密码。我现在想向用户显示他们的密码已成功更改,否则请说再试一次,但我无法做到这一点。任何帮助都将不胜感激,谢谢 这是控制器:Php codeigniter-更改密码显示时更改密码成功,php,codeigniter,Php,Codeigniter,到目前为止,我的代码正在运行并更改用户密码。我现在想向用户显示他们的密码已成功更改,否则请说再试一次,但我无法做到这一点。任何帮助都将不胜感激,谢谢 这是控制器: public function change_password($arg = "admin") { if(isset($_POST['data']) && !empty($_POST['data'])) { $this->load->library('form_validat
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>
似乎在更改用户密码后,您正在使用重定向将用户返回到另一个页面
在控制器中,在执行重定向之前,可以使用CodeIgniters会话数据在flashdata中设置消息,如下所示:
$this->session->set_flashdata('message', 'Your Password Was Successfully Changed');
或
$this->session->set_flashdata(“消息”,“您的密码未更改”)
然后在您的视图中,您可以添加:
<?php echo $this->session->flashdata('message'); ?>
请注意,为了使其正常工作,如果您尚未这样做,则需要在使用会话库的每个页面上手动加载会话库,或者将其添加到autoload.php文件中。正如我所说,我希望显示一条消息,说明密码更改时已成功更改密码。我该怎么做?我是否应该添加另一条if-else语句并响应成功的密码更改?如果是在哪里?谢谢,这很有帮助,已经在my autoload.php中添加了会话库