2013-01-17 4 views
2

Codeigniter의 세션 클래스를 사용하여 쿠키를 만들고 내 데이터베이스에 세션 정보를 저장하고 있지만 여러 브라우저에서 문제가 발생합니다.
을 제외한 모든 브라우저에서 모든 기능을 사용할 수있는 것 같습니다. 이 사이트는 사용자가 로그인 한 후 즉시 사용자를 차버 렸습니다. 내 생각에 어떤 이유로 세션이 설정되지 않습니다.Firefox에서 Codeigniter 세션이 설정되지 않습니다

조언이 있으십니까?
웹 사이트 : http://www.nanp.org. 아래
코드 :

$config['sess_cookie_name']  = 'nanpsession'; 
$config['sess_expiration']  = 2628000; 
$config['sess_expire_on_close'] = FALSE; 
$config['sess_encrypt_cookie'] = TRUE; 
$config['sess_use_database'] = TRUE; 
$config['sess_table_name']  = 'ci_sessions'; 
$config['sess_match_ip']  = FALSE; 
$config['sess_match_useragent'] = TRUE; 
$config['sess_time_to_update'] = 300; 

$config['cookie_prefix'] = ""; 
$config['cookie_domain'] = ""; 
$config['cookie_path']  = "/"; 
$config['cookie_secure'] = FALSE; 

답변

1

는 if 문에 대한 2 equal signs으로 시도 :

public function post() { 
    $this->load->model('rbac/user'); 
    if($user == $this->user->user_by_column(array('email'=>$_POST['email'],'password'=>$_POST['password'],'verified'=>'true'))) { 
    $this->session->set_userdata(array('user_id'=>$user->user_id)); 
    if($_POST['redirect']!='') {header('Location:'.$_POST['redirect']);} 
    else {header('Location:members/dashboard');} 
    } 
    else { 
    $this->data['php_error'] = 'Incorrect email or password.'; 
    } 
} 

더 많은 정보를 하나의 의미에 대해 동일한에이 내 세션 설정 정보가

public function post() { 
    $this->load->model('rbac/user'); 
    if($user = $this->user->user_by_column(array('email'=>$_POST['email'],'password'=>$_POST['password'],'verified'=>'true'))) { 
     $this->session->set_userdata(array('user_id'=>$user->user_id)); 
     if($_POST['redirect']!='') {header('Location:'.$_POST['redirect']);} 
     else {header('Location:members/dashboard');} 
    } 
    else { 
     $this->data['php_error'] = 'Incorrect email or password.'; 
    } 
} 

입니다 PHP If Statment 여기 : A php if statement with one equal sign...? What does this mean?

+0

내 문제라고 생각하지 마십시오. 거기서 평등을 확인하는 것이 아니라 브라우저 문제가 아니라 PHP 문제입니다. 문제가된다면 파이어 폭스뿐 아니라 모든 브라우저에서 나타날 수 있습니다. – bluemoonballoon

1

어떻게 세션이 작동하지 않는지 확인할 수 있습니다. 세션 변수를 출력 해 보거나 echo하면 빈 배열을 반환하면 세션이 작동하지 않을 수 있습니다. 당신이 당신의 세션이 파이어 폭스에 종료 말 때문에

echo print_r($this->session->set_userdata()); 

만있는 그 세션 변수를 재설정 때문에 파이어 폭스에 뭔가를 구성 할 수 있습니다.

+0

예, "set_userdata"줄 바로 다음에 세션 데이터를 인쇄했습니다. 일부 Firefox 사용자의 경우 Codeigniter 세션 배열의 "userdata"키가 비어 있습니다. 재미있는 점은 Firefox를 사용하여 모든 것이 잘 작동한다는 것입니다. 다른 사용자는 문제가 있습니다. – bluemoonballoon

관련 문제