메뉴 건너뛰기

프리그래밍 facebook 로그인 연동 php 버전

미르 2014.04.18 17:12 조회 수 : 493

[ 준비 사항 ]


https://developers.facebook.com/ ( 개발자 페이지 접속) -> 앱 -> 새앱만들기 를 통한 앱 등록

(앱 등록 방법은 개발자 페이지 메뉴얼 참조하세요!단 영문임 직관적이라 영어 몰라도 크게 어려움은 없습니다.)


1.jpg


[로그인처리 스크립트]

<html>
<head>
<script type="text/javascript" src="js/jquery-1.7.1.min.js" charset="utf-8"></script> 
 
 <div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() { //페이스북 sdk 초기화 작업
  FB.init({
    appId      : '앱 ID',
    status     : true, // check login status
    cookie     : true, // enable cookies to allow the server to access the session
    xfbml      : true  // parse XFBML
  });

  FB.Event.subscribe('auth.authResponseChange', function(response) {
    if (response.status === 'connected') {

      //FaceBookLoginAPI(); // 페이스북 로그인 되었을 경우 바로 로그인 되게 할경우 주석 해지.
    } else if (response.status === 'not_authorized') {
      FB.login();
    } else {

      FB.login();
    }
  });
  };

  (function(d){
   var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
   if (d.getElementById(id)) {return;}
   js = d.createElement('script'); js.id = id; js.async = true;
   js.src = "//connect.facebook.net/en_KR/all.js";
   ref.parentNode.insertBefore(js, ref);
  }(document));

  function FaceBookLoginAPI() {
   FB.login(function(logresponse){
            var fbname;  
            var accessToken = logresponse.authResponse.accessToken; 
FB.api('/me', function(response) {
$.post("/login.php", { name: response.name, id: response.id+'__fac', facebook:"facebook"}, 
function(postphpdata) { 
 //alert(postphpdata);
 if(accessToken){
location.replace('./index.php');
 }
}); 
  //alert('Good to see you, ' + response.name + '.'+ response.id);
});
}, {scope: 'publish_stream'});
}
</head>
<body>
<img src="img/facebook.png" onclick="FaceBookLoginAPI()" style='cursor:pointer;'>
</body>
</html>

<?
$fbuserid   = $_POST[id];  
$fbusername = $_POST[$name];  
$facebook   = $_POST[facebook];  

$fbusername = iconv('UTF-8','eucKR',$fbusername); //한글이 깨져 나올경우 적절히 변환작업

IF ($facebook =='facebook')
{
//페이스북으로 로그인 했다면  Database  페이스북 공개 프로필 정도 저장하고
    //로그인 처리

}
?>