1

CodeIgniter 2.x を使用しています。認証には、flexi auth ( http://haseydesign.com/flexi-auth/ ) を使用しています。私はひどい問題に直面しています。単純な ajax リクエストで、セッションが失われています。

コントローラー:

$this->auth = new stdClass;

        // Load 'standard' flexi auth library by default.
        $this->load->library('flexi_auth'); 

        // Check user is logged in as an admin.
        // For security, admin users should always sign in via Password rather than 'Remember me'.
        if (! $this->flexi_auth->is_logged_in_via_password()) 
        {
            // Set a custom error message.
            $this->flexi_auth->set_error_message('You must login as an admin to access this area.', TRUE);
            $this->session->set_flashdata('message', $this->flexi_auth->get_messages());
            redirect('auth');
        }

コントローラー機能

public function checkItemCode(){

        if($this->input->is_ajax_request()){
            //die('sdasda');
            $getResult = $this->items_model->checkCodeAvailablity();
                if($getResult == false){
                    echo '<span style="color:#f00; margin-left:10px;">This code has been used for another item. Kindly use any other code. </span>';
                }else{
            //echo '<span style="color:#f00">You can use this code!!!</span>';
                }
        } // if
    } // checkItemCode

AJAX 呼び出し

$(document).ready(function() {
    /// make loader hidden in start
    $('#Loading').hide();    

    $('#code').blur(function(){
        $('#Loading').show();
        $.post("<?php echo base_url()?>items/checkItemCode", {
            code: $('#code').val()
        }, function(response){

            $('#Loading').hide();
            setTimeout("finishAjax('Loading', '"+escape(response)+"')", 400);
        });
        return false;
        });

});
function finishAjax(id, response){
  $('#'+id).html(unescape(response));
  $('#'+id).fadeIn();
}

sess_update関数、MY_Session libなど、ネットで利用可能なすべてのオプションを実行しましたが、運がありません。

親切に私を助けてください。

よろしくお願いします。

4

0 に答える 0