パスワードを変更する前に私の管理者にパスワード変更機能があります。ユーザーパスワードを間違えた場合にユーザーに再度パスワードを入力するように依頼して検証しています。ユーザをログアウトさせる。彼はメインのログインパネルに来るときので、彼は今ここにエラーが表示されるはずです私のコードセッションフラッシュデータがAjaxで動作しない
コントローラメソッド
public function checkpassword(){
$this->check_unique_id_from_db_for_secuity();
$unique_id=base64_decode($this->uri->segment(3));
$data = $this->input->post();
$data['unique_id']=$unique_id;
$status=$this->User_model->validate_user_loged_in_for_change_password($data);
if($status){
echo "true";
exit();
}
else
{
$this->session->set_flashdata('change_password_credentials_error',"Your Username/Password was incorect account was logged out for secutiry reasons!");
echo "false";
exit();
}
}
メインのログインページ
のAJAXリクエスト$.ajax({
type: 'post',
url: '<?php echo base_url()."User/checkpassword/".$this->uri->segment(3).""; ?>',
data:{ "login_username" : $("#login_username").val(), "login_password" : $("#login_password").val() },
success: function (data) {
if(data=="true"){
window.location.href="<?php echo base_url()."User/changepassword_view/".$this->uri->segment(3)."";?>";
}
else
{
window.location.href="<?php echo base_url()."User/logout";?>";
}
}
});
PHPスクリプトです
<?php
if($this->session->flashdata('change_password_credentials_error')){?>
<script>toastr["success"]("<?php echo $this->session->flashdata('change_password_credentials_error')?>");</script>
<?php } ?>
現在、フラッシュデータはうまく機能しています。他の多くのページで使用していますしかし、私は何とかAjaxでそれを使用しているとき、それは設定されていません!どんな助け?
リダイレクトするまで、フラッシュデータは機能しません。 AJAX No Way –
では、どのように特定のシナリオを実装できますか? –