Поэтому я пытаюсь интегрировать PHP facebook SDK / API с codeigniter, потому что я люблю codeigniter, но по какой-то причине я теряю сеанс facebook, как только я меняю страницы со своего базового URL, я напечатал $_session и все, что я получаю, это массив ([fb_339393762762289_state] => cb8c201ed66ebcaa60407114aa92f001) есть идеи, почему это происходит?
Вот как выглядит мой контроллер:
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');
}
Из того, что я могу понять из исходного кода API, является то, что он отвечает за обработку сессийпоэтому я не понимаю, почему он продолжает терять это.
Я подумал, что это может быть связано с настройкой моего Htaccess. Т.е.Мой URL, когда я меняю страницы, выглядит так: www.example.com/index.php/controller_name/method_name/
мне также нужно что-то делать с переменными $ _GET?потому что это одна вещь, которую я заметил ... кажется, что некоторые вещи передаются в URL, но они не переходят на другие страницы.
любая помощь по этому вопросу будет принята с благодарностью.Я действительно в растерянности.