Codeigniter ทำไงถึงจะinclude หน้าview อื่น มาไว้ในอีกviewนึงได้ครับ?


Codeigniter ทำไงถึงจะinclude หน้าview อื่น มาไว้ในอีกviewนึงได้ครับ?


สวัสดีครับ
ใช้ 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)

โค๊ด:
<?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" ที่เก็บโค้ดพวกนี้ไว้

โค๊ด:
<?php require_once(APPPATH.'libraries/facebook/src/facebook.php');
$facebook = new Facebook(array(
"appId" => "xxxxxxxxxxxxx",
"secret" => "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
));


$user = $facebook->getUser();

จากนั้นใน ไฟล์view 4 ไฟล์ ที่ว่าก็เขียน include view แบบนี้

โค๊ด:
$this->load->view('fb_init.php');

ปรากฎว่าเกิดerror ว่าไอโค้ดfacebook ที่เหลือไม่สามารถอ้างอิงถึงตัวแปร $user ได้
โค้ดที่เหลือของfacebookก็ประมาณนี้ครับ


โค๊ด:
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 น่าจะไม่ถูกหลักเท่าไร

โพสเมื่อ : 2017-01-15 16:49:12 | 1 ปี, 10 เดือน , 22 ชั่วโมง ผ่านมา
//ผมกำลังเข้าใจว่าท่านมอง View เป็นเหมือนการ Include

//การส่งค่า $appId และ $secret ไปที่หน้า View นะครับ

file : /application/controllers/test.php
class Test extend CI_Controller {
public $appId = 'xxx';
public $secret = 'xxxx';

function __construct()
{
parent::__construct();
}

public function login()
{
$this->load->view('view_login', array(
'appId' => $this->appId,
'secret' => $this->secret,
));
}
}

file : /application/views/view_login.php
<?php echo $appId; ?>

ลำดับ : 1 | ตอบเมื่อ : 2017-02-18 13:26:23 | 1 ปี, 8 เดือน , 3 สัปดาห์ , 2 วัน , 1 ชั่วโมง ผ่านมา
เข้าสู่ระบบ
คงสถานะการเข้าระบบ