สวัสดีครับ
ใช้ Codeigniter อยู่ + facebook php sdk version.3.2.3
พอดีทำหน้า login facebook น่ะครับ มีอยู่ด้วยกัน 4 หน้า (1. login page 2.register page 3.login special member page 4.register special member page)
แล้วในไฟล์ view 4 ไฟล์ ที่ว่า จะต้องมีโค้ดที่ setup ค่าเริ่มต้น facebook (ใส่appid appsecret)
Code
<?php require_once(APPPATH.'libraries/facebook/src/facebook.php');
$facebook = new Facebook(array(
"appId" => "xxxxxxxxxxxxxxx",
"secret" => "xxxxxxxxxxxxxxxxxxxxxxxx",
));
$user = $facebook->getUser();
ปัญหาคือ ถ้าวันหลังเกิดต้องเปลี่ยน appid appsecret จะต้องเปลี่ยนทั้ง 4 ไฟล์viewนี้เลย ซึ่งไม่น่าจะดีเท่าไร
ผมเลยสร้างไฟล์viewใหม่ ชื่อ "fb_init.php" ที่เก็บโค้ดพวกนี้ไว้
Code
<?php require_once(APPPATH.'libraries/facebook/src/facebook.php');
$facebook = new Facebook(array(
"appId" => "xxxxxxxxxxxxx",
"secret" => "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
));
$user = $facebook->getUser();
จากนั้นใน ไฟล์view 4 ไฟล์ ที่ว่าก็เขียน include view แบบนี้
Code
$this->load->view('fb_init.php');
ปรากฎว่าเกิดerror ว่าไอโค้ดfacebook ที่เหลือไม่สามารถอ้างอิงถึงตัวแปร $user ได้
โค้ดที่เหลือของfacebookก็ประมาณนี้ครับ
Code
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me?fields=id,email,name,first_name,last_name,picture'); //ต้องมีหลัง /me ไม่งั้นประวัติมาไม่ครบ
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}
$loginUrl = $facebook->getLoginUrl(array(
"redirect_uri"=>"http://www.club55.net/login",
"scope"=>"email"
));
ทำไงดีครับพี่ๆ wanwan017 หรือถ้าพี่มีวิธีที่ดีกว่า แนะนำด้วยครับ ผมว่าผมเขียน code facebook ในview น่าจะไม่ถูกหลักเท่าไร
Tag : PHP