|
|
|
Login with facebook แล้ว up load ขึ้น host แล้วใช้ไม่ได้ แต่ localhost ใช้ได้ครับ (จนปัญญาแล้วครับ ทำมา 5 วันแล้ว ก้บ login facebook) |
|
|
|
|
|
|
|
เขียนโปรแกรม Login with facebook แล้ว up load ขึ้น host แล้วไม่สามารถใช้ได้
ทั้งที่ localhost สามาถใช้ได้ปกติ
ที่อยู่เว็บครับ http://foodcourt.esy.es/
hosting http://www.hostinger.in.th/
code ที่ผม download มา https://github.com/SoldierCorp/Login-with-Facebook-SDK-v4-PHP-without-framework
ไม่รู้จะแก้ยังไงแล้วครับ
ต้องใช้ระบบ login facebook ในการทำโปรเจ็คจบครับ ไม่งั้นไม่จบแน่ถ้า ใช้งานจริงไม่ได้
ทำมา 5 วัน ยังไม่ได้เลยครับ มีวิธีไหนมั้ยครับ ในการ login กับ facebook ครับ
ใน facebook app ของผมมันขึ้นแบบนี้ครับ
รบกวนช่วย ด่วนเลยครับ เวลาเหลือน้อยมากแล้ว (ผมไม่เก่งเลยเรื่อง code ครับ) ขอบคุณครับ
index.php
<?php
require_once '/home/u644911686/public_html/app/start.php';
//require_once 'app/start.php';
?>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>PHP Facebook SDK4</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
<style>
body {
margin: 100px auto;
width: 400px;
text-align: center;
}
</style>
</head>
<body>
<h2>PHP Facebook SDK v4</h2>
<?php if (!isset($_SESSION['facebook'])): ?>
<a href="<?php echo $helper->getLoginUrl($config['scopes']); ?>" class="btn btn-primary">Login width facebook</a>
<?php else: ?>
<p>
Bienvenido, <?php echo $facebook_user->getName(); ?>
</p>
<a href="app/logout.php" class="btn btn-danger">Logout</a>
<?php endif; ?>
</body>
</html>
start.php
<?php
session_start();
//date_default_timezone_set('Asia/Bangkok');
//require_once '/config/facebook.php'; //Localhost
//require_once '/vendor/autoload.php'; //Localhost
require_once '/home/u644911686/public_html/config/facebook.php'; //hosting
require_once '/home/u644911686/public_html/vendor/autoload.php'; //hosting
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\GraphUser;
use Facebook\GraphObject;
use Facebook\FacebookRequestException;
FacebookSession::setDefaultApplication($config['app_id'], $config['app_secret']);
//$helper = new FacebookRedirectLoginHelper('http://localhost/facebook/'); //Localhost
$helper = new FacebookRedirectLoginHelper('http://foodcourt.esy.es/'); //hosting
try {
$session = $helper->getSessionFromRedirect();
if ($session):
$_SESSION['facebook'] = $session->getToken();
//header('Location: http://localhost/facebook/'); //Localhost
header('Location: http://foodcourt.esy.es/'); //hosting
endif;
if (isset($_SESSION['facebook'])):
$session = new FacebookSession($_SESSION['facebook']);
$request = new FacebookRequest($session, 'GET', '/me');
$response = $request->execute();
$graphObjectClass = $response->getGraphObject(GraphUser::className());
$facebook_user = $graphObjectClass;
endif;
} catch(FacebookRequestException $ex) {
// When Facebook returns an error
} catch(\Exception $ex) {
// When validation fails or other local issues
}
//isset() check variable is TRUE
//empty() check variable is TRUE
//isnull() check variable is TRUE
?>
facebook.php
<?php
$config = array(
'app_id' => '1448334198760302',
'app_secret' => '84effeb7814e98e7d32c55ef30abcdefghi',
//'redirect_uri' => 'http://foodcourt.esy.es/index.php',
'scopes' => array('email','read_friendlists','user_online_presence'),
);
?>
logout.php
<?php
session_start();
unset($_SESSION['facebook']);
//header('Location: http://localhost/facebook/index.php'); //Local host
header('Location: http://foodcourt.esy.es/'); //hsoting
?>
Tag : PHP
|
ประวัติการแก้ไข 2015-01-16 16:28:41
|
|
|
|
|
Date :
2015-01-16 16:27:32 |
By :
newminho |
View :
1664 |
Reply :
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่รู้เกี่ยวกันไม๊นะครับ
ตอนสมัคร App ID ระบบมันจะให้ระบุด้วยว่าจะใช้ app id นี้ กับเว็บใด ไม่ทราบว่าแก้รึยังครับ?
|
|
|
|
|
Date :
2015-01-16 16:48:21 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้แล้วครับ
ตามนี้เลยครับ
|
|
|
|
|
Date :
2015-01-16 16:55:35 |
By :
newminho |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันมี Error ยังไงบ้างครับ
ถึงบ้านค่ำๆ เดียวจะช่วยเขียนให้อีกทีครับพอดีผมยังไม่ได้เล่นระบบ SDK V4 ใหม่ของ facebook
วันนี้ไม่ได้เอา macbook มาด้วยเลยช่วยเขียนให้ไม่ได้ (พอดีที่ทำงานยังเป็น php 5.2 อยู่มัน run SDK v4 facebook ไม่ได้ ^ ^)
ปล. ถ้ามีคนช่วยก่อนแล้วก็ผ่านไปนะครับ ^ ^
|
|
|
|
|
Date :
2015-01-16 17:02:40 |
By :
phpbasic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ้าวกระทู้เดียวกับ https://www.thaicreate.com/php/forum/113804.html
งั้นแสดงว่ายัง Error เดียวกันตั้งซะ 2 กระทู้เลย ^ ^
|
|
|
|
|
Date :
2015-01-16 17:05:20 |
By :
phpbasic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อีกนิดหนึ่งครับ Server ใช้ php version อะไรครับเพราะ facebook sdk v4 มันรองรับ php 5.4 ขึ้นไปอะครับ
|
|
|
|
|
Date :
2015-01-16 17:09:37 |
By :
phpbasic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
server 5.1 - 5.5 มันสามารถเลือกได้ครับ
ผมได้ทำการเลือกเป็น 5.4 แล้วครับ
ลองทั้งสองวิธี ก็ error 2 วิธีเลย แต่อันนี้ดีสุดแล้วครับ run แล้วเห็นปุ่ม login อันก่อนไม่เห็นเลย เป็น code error ผมไม่เข้าใจจริงๆครับ
เลยลองอันนี้ดู เพื่อว่ามันจะติดปัญหาที่การรับส่งข้อมูลครับ
ขอบคุณครับ
|
|
|
|
|
Date :
2015-01-16 17:48:05 |
By :
newminho |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โอเคๆๆถึงบ้านสัก 2 ทุ่มเดียวมาช่วยครับรบกวนเตรียมโปรแกรม teamviewer ไว้หน่อยนะครับจะ remote ไปดูที่เครื่องด้วย
ปล.จะช่วยได้เท่าที่ช่วยนะครับ
|
|
|
|
|
Date :
2015-01-16 18:02:06 |
By :
phpbasic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลอง check exception ดูครับ ว่ามันมี error message ว่าอะไร
ป.ล. ผมก็ยังไม่ได้เคยเขียนด้วย SDK V4 เพราะโฮสที่ทำงานด้วยมันไม่มี PHP5.4 เลยต้องเขียนแบบ manual เอา
Code (PHP)
try {
$session = $helper->getSessionFromRedirect();
if ($session):
$_SESSION['facebook'] = $session->getToken();
//header('Location: http://localhost/facebook/'); //Localhost
header('Location: http://foodcourt.esy.es/'); //hosting
endif;
if (isset($_SESSION['facebook'])):
$session = new FacebookSession($_SESSION['facebook']);
$request = new FacebookRequest($session, 'GET', '/me');
$response = $request->execute();
$graphObjectClass = $response->getGraphObject(GraphUser::className());
$facebook_user = $graphObjectClass;
endif;
} catch(FacebookRequestException $ex) {
// When Facebook returns an error
echo $ex->getMessage();
exit;
} catch(\Exception $ex) {
// When validation fails or other local issues
echo $ex->getMessage();
exit;
}
|
|
|
|
|
Date :
2015-01-16 18:04:07 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลอง เอาโค๊ดที่ @ พี่phpinfo() ไปอัพขึ้น host ดูแล้วครับ
มันขึ้นแบบนี้ครับ
couldn't connect to host
|
|
|
|
|
Date :
2015-01-16 18:10:38 |
By :
newminho |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. Facebook Developers site -> App > YourApp > Basic -> App Domains
2. Facebook Developers site -> App > YourApp > Basic -> Website with Facebook Login
|
|
|
|
|
Date :
2015-01-16 18:13:38 |
By :
meannerss |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เหมือน host จะ block การเชื่อมต่อนะครับ
ลองทดสอบโค้ดนี้ดูครับ
Code (PHP)
<?php
header('Content-Type: text/plain');
echo file_get_contents('https://graph.facebook.com/');
ดูว่ามันได้ output แบบนี้หรือเปล่า
{
"error": {
"message": "Unsupported get request. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",
"type": "GraphMethodException",
"code": 100
}
}
ถ้าได้ แสดงว่ามันไม่ได้ block แต่ถ้ามันไม่ได้และมี php warning แสดงว่า host อาจจะ block ครับ
|
|
|
|
|
Date :
2015-01-16 18:16:38 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองรันดูแล้วครับ ด้วย code นี้
index.php
<?php
header('Content-Type: text/plain');
echo file_get_contents('https://graph.facebook.com/');
?>
ผลเป็นแบบนี้ แสดงว่า block ใช่มั้ยครับ
ถ้า block ต้องทำยังไงครับ ถึงจะแก้ได้
ขอบคุณครับ
|
|
|
|
|
Date :
2015-01-16 18:40:13 |
By :
newminho |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ปัญหานี้คงต้องติดต่อผู้ให้บริการครับ
|
|
|
|
|
Date :
2015-01-16 18:42:22 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
สรุป คือ เป็นที่ host ไม่ใช่ code ใช่มั้ยครับ
มีโค๊ดตัวอื่นที่สามารถ run ได้มั้ยครับ เอาแบบเค้าใจง่ายๆ ผมไม่เก่ง coding ครับ
ถ้า code มันไม่มีปัญหา ผมจะได้ทำบน localhost ไปก่อน ถ้าเสร็จแล้วค่อย อัพขึ้น host ตัวอื่นอีกที
มี hosting แนะนำมั้ยครับ ที่สามารถทำระบบ login กับ facebook ได้
ขอบคุณทุกท่านมากครับ
|
|
|
|
|
Date :
2015-01-16 18:52:01 |
By :
newminho |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่มี code อื่นที่ run ได้ครับ เพราะมันเป็นที่โฮสต์
โฮสต์ที่เสียเงินส่วนใหญ่ก็อนุญาตให้ติดต่อกับ facebook หมดล่ะครับ
แต่โฮสต์ฟรีผมก็ไม่ทราบเหมือนกันว่าที่ไหนอนุญาตให้ใช้บ้าง
ลองหาโฮสต์รายปีดูครับ เดี๋ยวนี้ไม่แพง ปีละ 500 ก็ใช้งานจริงได้แบบโอเคแล้วครับ
|
|
|
|
|
Date :
2015-01-16 18:57:03 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
host ปิดคำสั่ง curl เพราะมันอ่าน url ปลายทางไม่ได้ต้องเข้าไปเปิดการใช้งานก่อนครับ
ดูจาก Errror: failed to open stream
ก่อนจะเช่า Host ถามก่อนนะเพราะบ้าง Host ไม่ได้เปิดให้เราใช้ทุก function ครับแต่ส่วนมากจะเปิด curl ไว้อยุ่ครับ
ถ้าเปิด curl แล้วคงได้แล้วเน๊อะงั้นผมขอไปทำงานต่อละ ^ ^
|
|
|
|
|
Date :
2015-01-16 19:37:57 |
By :
somparn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|