비밀번호를 변경하기 전에 내 관리자에게 비밀번호 변경 기능이 있습니다. 사용자 비밀번호를 잘못 입력하면 사용자 이름 비밀번호를 다시 입력하도록 요청하여 유효성을 검사하고 있습니다. 현재 플래시 데이터 설정 중입니다. 그리고 사용자를 로그 아웃하십시오. 그래서 그는 주요 로그인 패널에 올 때 그 오류를 참조해야 할 것은 지금 여기 내 코드입니다세션 플래시 데이터가 아약스에서 작동하지 않습니다
컨트롤러 방법
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({
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 No Way –
에서 특정 시나리오를 어떻게 구현할 수 있습니까? –