나는 php sdk를 사용하여 사용자를 웹 사이트에 로그인합니다. 또한 redirect_uri를 사용하여 login.php로 리디렉션합니다. 사용자 ID로 쿠키를 설정하고 있습니다. 쿠키가 지금php-Facebook 등록 후 리디렉션?
<?php if(isset($_COOKIE['id']) == false){
require_once('scripts/facebook.php');
$config = array('appId' => 'xxx','secret' => 'xxx');
$params = array('scope' => 'email,offline_access,user_birthday', 'redirect_uri' => 'http://www.xxx.com/login.php');
$facebook = new Facebook($config);
$user = $facebook->getUser();
if($user) {
try {
$user_profile = $facebook->api('/me','GET');
$userid = $user_profile['username'];
//insert cookie
$expire = time() + 31556926;
$cookie_id = $user_profile['username'];
setcookie("id", $cookie_id, $expire);
header('Location: main.php');
} catch(FacebookApiException $e) {
$login_url = $facebook->getLoginUrl($params);
echo '<img src="assets/login.png"><br>';
echo '<a href="' . $login_url . '"><img src="assets/facebook_login.png"></a>';
error_log($e->getType());
error_log($e->getMessage());
}
} else {
$login_url = $facebook->getLoginUrl($params);
echo '<img src="assets/login.png"><br>';
echo '<a href="' . $login_url . '"><img src="assets/facebook_login.png"></a>';
}//end facebook
}else{
//if cookie id is set
header('Location: main.php');
}
?>
를 main.php 다시 사용자를 dircet하기 위해 헤더 기능을 사용하고있는 경우 그럼 난 확인하고, 문제는 사용자가 응용 프로그램을 인증 할 때, 그것은 로그인 리디렉션입니다 페이지. 이것은 PHP 페이지가 새로 고쳐지지 않는다는 것을 의미합니다. 이 문제를 어떻게 해결할 수 있습니까? 업데이트 : 사용자가 페이지를 새로 고침하거나 다시 로그인을 클릭하면 자동으로 메인으로 리디렉션됩니까?
당신이 authenication 별도의 창을 열고 있습니까? – Kristian
아니요, 같은 창을 사용하고 있습니다. – user1481850
좋아요, 그러면 어떤 PHP 페이지가 새로 고침되지 않습니까? – Kristian