2017-04-18 47 views
0

我知道我从我从URL中检索到的xml中获取数据,我试图回显它并且工作得很好。但是,当我尝试将该数据放入会话userdata时,它不会添加到会话中。下面是我的代码:无法将检索到的数据从XML保存到Codeigniter中的会话中

$username = $this->input->post("user"); 
    $password = $this->input->post("pass"); 
    $ip = $this->input->ip_address(); 

    if(!$this->input->valid_ip($ip)){ 
     $this->session->set_flashdata('failed','Login Failed! Error: Invalid IP'); 
     redirect("lobby"); 
    } 

    $url = "http://www.betclip.net/betclipapi/methods.asp?OperatorId=someID&key=somekey&action=login&username=".$username."&password=".$password."&ip=".$ip." "; 

    $opts = array('http'=>array('header' => "User-Agent:MyAgent/1.0\r\n")); 
    $context = stream_context_create($opts); 
    $user_log = file_get_contents($url,false,$context); 
    $user_list = simplexml_load_string($user_log); 

    $code = $user_list->errorCode; 

    //$check_result = $this->Login_m->get_user($username, $password); 
    if($code == 0) 
    { 
     $data = array(
         'login' => TRUE, 
         'id' => $user_list->accountid, 
         'username' => $user_list->username, 
         'symbol' => $user_list->symbol, 
         'balance' => $user_list->balance, 
         'ip' => $user_list->ip 
        ); 
     $this->session->set_userdata($data); 
     $this->session->set_flashdata('welcome','Welcome ' . $this->session->userdata('Username') . '!'); 
     redirect('lobby'); 
    } 
    else 
    { 
     $this->session->set_flashdata('failed','Login Failed! Error: ' . $user_list->description . ''); 
     redirect('lobby'); 
    } 

我在想什么?我使用的文件,我sess_driver:

$config['sess_driver'] = 'files'; 
$config['sess_cookie_name'] = 'ci_session'; 
$config['sess_expiration'] = 7200; 
$config['sess_save_path'] = BASEPATH . 'cache/sessions/'; 
$config['sess_match_ip'] = TRUE; 
$config['sess_time_to_update'] = 300; 
$config['sess_regenerate_destroy'] = TRUE; 

回答

0

好了,所以我有进一步研究。我发现的是,你必须将检索到的数据从XML转换为字符串

$data = array(
     'login' => TRUE, 
     'id' => (string)$user_list->accountid, 
     'username' => (string)$user_list->username, 
     'symbol' => (string)$user_list->symbol, 
     'balance' => (string)$user_list->balance, 
     'ip' => (string)$user_list->ip 
); 

我希望这可以帮助任何有同样问题的人。

Credits对此主题:here

相关问题