2016-05-30 2 views
0

Я дал сеанс, я хочу отправить контроллер Логин данные autho в профиль контроллера с использованием Ajax и JQueryCodeigniter, как получить данные сессии в целях

public function login_autho() { 
      $this->load->library('session'); 
      $data = array(
       'uname' => $this->input->post('uname'), 
       'upassword' => $this->input->post('upassword') 
      ); 
      //fetch database usename and password 
      $result = $this->login_model->login_user($data); 

      //user name put in the session 
      $data_session_set = array('logged' => 1, 'uname' => $this->input->post('uname')); 
      $data = $this->session->set_userdata($data_session_set); 

      print_r($result); 
     } 

     public function profile() { 
      $this->load->view('header'); 
      //How to send user name from here to success view page and fetch all data 
      $this->load->view('user/success'); 

     } 

Это мой Ajax скрипт в форме входа, чтобы проверить имя пользователя и передать затем войти в

<script> 
    $('#login_form').submit(function (e) 
    { 
     e.preventDefault(); 
     var uname = $('#uname').val(); 
     var upassword = $('#upassword').val(); 
     if (uname == "" || upassword == "") 
     { 
      $('#error').show().html('All Fields are required'); 
     } else { 
      $('#error').html("").hide(); 
      $.ajax({ 
       type: "POST", 
       url: "<?= base_url(); ?>User_controller/login_autho/", 
       data: {uname: uname, upassword: upassword}, 
       success: function (data) { 
        //if session is set then redirect to User_controller/profile but session can send data 
        if (data == '1') 
        { 
         window.location.replace("<?= base_url(); ?>User_controller/profile"); 

        } else 
        { 
         alert('invalid'); 
        } 
       } 
      }); 
      return false; 
     } 
    }); 
</script> 
+0

Ваш AJAX загрузить вид после авторизованы ?? –

+0

да, это загрузка в успехе контроллера профиля .php – sms

+0

сеанс установлен, он возвращает 1 ture, но как получить все данные через print_r ($ this-> session-> userdata ['logged']); – sms

ответ

0

Вы можете просто получить данные сессии в CodeIgniter, написав

$username = $this->session->userdata('uname');//uname is the session variable name. 

Вы можете отправить данные на другой контроллер из ajax, как это.

<input hidden name="uname" value="<?php echo $username ?>" id="uname"> 

function(){ 
    var uname = $("#uname").val(); 
    $.ajax({ 
    url: "" , 
    type : "POST", 
    data:{username:uname}, 

    }).done(function(data){ 

    }).fail(function(data){ 
    console.log("hello fail"); 

    });//end fail 
} 

Вы также можете отправить другие поля данных. Надеюсь, что это поможет вам.

+0

, но сеанс установлен в login autho – sms

+0

, и я хочу отправить его в профиль контроллера. – sms

+0

сейчас ответ - это редактирование. ....! – NomanJaved

0

Alter это контроллер

$data_session_set = array(
    'uname' => $this->input->post('uname'), 
    'logged_in' => TRUE # add this insted of 'logged' => 1 
); 

$this->session->set_userdata($data_session_set); 

Я рекомендовал использовать logged_in вместо logged


Добавить это в View

echo $this->session->userdata('uname'); 

или попробовать

print_r($this->session->userdata('uname')); 

Ссылки

Retrieving Session Data - codeigniter.com

+0

Вы проверили это? –

Смежные вопросы