การนำ ระบบสมาชิก ของ facebook มาประยุกต์ใช้
หน้าแรก facebook app การนำ ระบบสมาชิก ของ facebook มาประยุกต์ใช้
ถ้าต้องการนำระบบสมาชิกของ 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']
ขึ้นไปด้านบน
