PHP Ionic Angularjs Phonegap AJAX Javascript CSS MySQL jQuery Forum

การนำ ระบบสมาชิก ของ facebook มาประยุกต์ใช้

19 July 2010 By


ถ้าต้องการนำระบบสมาชิกของ facebook มาใช้กับเว็บ กรณีที่เว็บไซต์ไม่มีระบบสมาชิก หรือมีระบบสมาชิกอยู่แล้ว สามารถทำได้ดังนี้

1.สร้างไฟล์ facebook.php แล้วทำการ copy โค้ดจาก link ด้านล่างไปวาง
http://www.ninenik.com/fb/facebook.php.txt

2.สร้างไฟล์ connect_facebook.php ตามโค้ดด้านล่าง
 

<?php
// สร้าง Application instance.
$facebook = new facebook(array(
  'appId'  => '134358299910812', // appid ที่ได้จาก facebook
  'secret' => 'f26e6a52edc958270973855be5e7a7', // app secret ที่ได้จาก facebook
  'cookie' => true, // อนุญาตใช้งาน cookie
));
// appId และ secret ดูวิธีการได้มาจาก 
// http://www.ninenik.com/สร้าง_comment_ด้วย_social_plugins_ใน_facebook_api_อย่างง่ายดาย-291.html


// ตรวจสอบสถานะการ login
$session = $facebook->getSession();

// สร้างตัวแปรสำหรับเก็บข้อมูลของสมาชิกเมื่อได้ทำการ login แล้ว
$me = null; 

// ถ้ามีการ login ดึงข้อมูลสมาชิกที่ login มาเก็บที่ตัวแปร $me เป็น array
if ($session) {
  try {
    $uid = $facebook->getUser();
    $me = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
  }
}


if($me){ // กรณีเงื่อน login อยู่
   // เก็บค่า url ไว้ในตัวแปร $logoutUrl สำหรับ logout กรณีที่ได้ทำการ login อยู่
  $logoutUrl = $facebook->getLogoutUrl();
}else{  // กรณีเงื่อนไข logout
   // เก็บค่า url ไว้ในตัวแปร $loginUrl สำหรับ login กรณีที่ยังไม่ได้ login
  $loginUrl = $facebook->getLoginUrl();
}
?>

3.การใช้งาน ในโค้ดด้านล่างไปวางไว้ด้านบนของไฟล์ที่ต้องการเรียกใช้ ระบบสมาชิกของ facebook  ถ้ามีการกำหนด session_start() ให้เอาไว้ใต้ คำสั่งนั้น
 

<?php
require("facebook.php");
require("connect_facebook.php");
?>

4.ตัวอย่างโค้ดสำหรับทดสอบการทำงาน
 

<?php
require("facebook.php");
require("connect_facebook.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>connect with facebook</title>
</head>

<body>

<?php if($me){?>
<img src="https://graph.facebook.com/<?php echo $uid; ?>/picture">
<?php echo $me['name']; ?>
<pre><?php print_r($me); ?></pre>
<hr />    
<a href="<?php echo $logoutUrl; ?>">
<img border="0" src="http://static.ak.fbcdn.net/rsrc.php/z2Y31/hash/cxrz4k7j.gif">
</a>
<?php }else{ ?>
<a href="<?php echo $loginUrl; ?>">
<img border="0" src="http://static.ak.fbcdn.net/rsrc.php/zB6N8/hash/4li2k73z.gif">
</a>
<?php } ?>
<br />


</body>
</html>

ตัวอย่าง http://www.ninenik.com/fb/connect_with_facebook.php

5.สิ่งที่สามารถนำไปใช้งานหรือประยุกต์ใช่ต่อไป
 

รูปของสมาชิกที่ login 
https://graph.facebook.com/<?=$me['id']?>/picture
ข้อมูลของสมาชิก จาก facebook ตามตัวแปรด้านล่าง
$me['id']
$me['name']
$me['first_name']
$me['last_name']
$me['link']
$me['about']
$me['gender']
$me['timezone']
$me['locale']
$me['verified']
$me['updated_time']

// ตัวแปร $logoutUrl เก็บค่า url สำหรับ logout กรณีที่ได้ทำการ login อยู่
$logoutUrl
// ตัวแปร $loginUrl เก็บค่า url  สำหรับ login กรณีที่ยังไม่ได้ login
$loginUrl 

เท่านี้ก็สามารถนำค่าต่างไปใช้ตรวจการเป็นสมาชิกของเว็บเรา โดยไม่ต้องสร้างระบบสมาชิก
หรือถ้ามีระบบสมาชิกอยู่แล้ว ก็สามารถนำค่าเบี้ยงต้นเหล่านี้ ไปบันทึกลงฐานข้อมูล โดยอาจ
สร้างความสัมพันธ์ของข้อมูล ด้วยตัวแปร $me['id']


Tags:: สมาชิก facebook



***เนื้อหานี้เป็นของ เมื่อหลาย ปีที่แล้ว อาจจะใช้งานไม่ได้ หรือไม่รองรับในปัจจุบัน




URL สำหรับอ้างอิง