Poniższy kod inicjuje api facebooka:
$().ready(function(){
window.fbAsyncInit = function() {
FB.init({
appId : '5252525252525252',
session : <?php echo json_encode($session); ?>, // don't refetch the session when PHP already has it
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
};
init_fb();
});
function init_fb(){
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}
Przebieg wydarzeń wygląda następująco:
1. Loguje się za pomocą poniższego kodu:
function fb_login(){
FB.login(function(response) { // daje znac fb ,ze loguje sie
if (response.session) {
if (response.perms) {
// user is logged in and granted some permissions.
// perms is a comma separated list of granted permissions
} else {
// user is logged in, but did not grant any permissions
}
location.href = strBaseUrl+"index/fb_login"; // a tu nastepuje faktyczne logowanie do serwisu lub rejestracja
} else {
// user is not logged in
}
}, {perms:'email'});
}
2. Zostaje poprawnie zalogowany do serwisu.
3. Wylogowywuję się za pomocą poniższego kodu:
function fb_logout(){
FB.logout(function(response) { // tu daje znac fb ,ze sie wylogowalem,
location.href = strBaseUrl+"index/wyloguj"; // a tutaj jest wlasciwe wylogowanie z serwisu,
});
}
4. I teraz próbując się zalogować na nowo, nie mogę - otwiera się dialog fb do logowania po czym znika i przekierowuje mnie na główną nie logując.
5. Musze wyczyścić ciastka żeby móc się zalogować jak na początku.
Gdzie jest lub może być błąd?
Ten post edytował nmts 18.05.2011, 15:12:43