그래서 codeigniter를 좋아하기 때문에 PHP facebook SDK/API를 codeigniter와 통합하려고합니다.하지만 기본 URL에서 페이지를 변경하자마자 내 페이스 북 세션을 잃어 버리는 어떤 이유로 인해 $ _session 내가 얻는 것은 Array ([fb_339393762762289_state] => cb8c201ed66ebcaa60407114aa92f001)입니다. 왜 이런 일이 일어나고있는가? 여기 페이지 변경시 내 세션이 손실되는 이유는 무엇입니까?
처럼 내 컨트롤러는 모습입니다 : 내가 API의 소스 코드에서 이해할 수있는 것과
class Main extends CI_Controller {
var $user;
var $log_in_url;
var $log_out_url;
function __construct() {
parent::__construct();
$this->load->library('facebook');
$perams = array(
'scope' => 'user_about_me, read_friendlists',
'redirect_uri' => 'http://www.example.com/'
);
$this->user = $this->facebook->getUser();
$this->log_out_url = $this->facebook->getLogoutUrl();
$this->log_in_url = $this->facebook->getLoginUrl($perams);
print_r($this->user);
print_r($this->log_out_url);
print_r($this->log_in_url);
}
public function index() {
if ($this->user) {
try {
$data['user_profile'] = $this->facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$this->user = null;
}
}
if ($this->user) {
$data['logout_url'] = $this->log_out_url;
} else {
$data['login_url'] = $this->log_in_url;
}
$data['user'] = $this->user;
$this->load->view('templet/header', $data);
$this->load->view('main view');
$this->load->view('templet/footer');
}
public function account() {
if ($this->user) {
try {
$data['user_profile'] = $this->facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$this->user = null;
}
}
if ($this->user) {
$data['logout_url'] = $this->log_out_url;
} else {
$data['login_url'] = $this->log_in_url;
}
$data['user'] = $this->user;
$this->load->view('templet/header', $data);
$this->load->view('account');
$this->load->view('templet/footer');
}
이 세션을 처리 담당하고 있다는 점이다, 그래서 나는 이유를 이해하지 않습니다 그것은 그것을 잃지 않고 계속됩니다.
나는 내 Htaccess 설정과 관련이있을 수 있다고 생각했습니다. 예를 들어. 내 URL을 내가 페이지를 변경할 때 다음과 같이 보입니다. www.example.com/index.php/controller_name/method_name/
도 $ _GET vars로 무엇인가해야합니까? 그것이 내가 알아 차 렸던 한가지이기 때문에 .. URL에 전달 된 것들이있는 것 같지만 그들은 다른 페이지로 계속되지 않습니다.
이 문제에 대한 도움을 주시면 감사하겠습니다. 나는 정말 실망 스럽다. 당신이 CodeIgniter의 세션 라이브러리를 사용하는 경우
다른 $ _SESSION 변수 (사용자가 직접 설정 한 변수)는 같은 방법으로 또는 FB 만 풀 었습니까? – Cheery
아직 내 세션을 설정하지 않았습니다. 저에게 그 아이디어를 주셔서 감사합니다. 나는 그것을 확인하는 것을 생각조차하지 않았다. 나는 내 자신의 일부를 설정하려고합니다. 궁금 해서요. 왜 내 변수가 한 페이지에서 다른 페이지로 데이터를 보유하지 않는 것입니까? 왜냐하면 컨트롤러에 전역 범위가 있기 때문입니다. 그래서 데이터가 여전히 거기에 있어야하는 것 같습니다. –
방금 확인했는데 세션이 정상적으로 작동합니다. 내가 CI 기능을 통해 그들을한다면 ... 당신은 내가 CI 기능을 사용하여 페이스 북 SDK를 적용해야한다고 생각합니까? –