Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php facebook getLoginUrl()什么都不做_Php_Facebook - Fatal编程技术网

Php facebook getLoginUrl()什么都不做

Php facebook getLoginUrl()什么都不做,php,facebook,Php,Facebook,我不确定问题是什么,我知道FB的文档不是很好,但由于一些网站纠正了FB的错误,我停止了错误。但是当我把getLoginUrl()放在页面上,就像它所建议的那样,我什么也得不到。当我什么都不说的时候,我指的是一页空白 以下是测试脚本(删除了应用程序和密码): define('FACEBOOK_SDK_V4_SRC_DIR','/FACEBOOK'); 需要_一次('Facebook/FacebookSession.php'); 需要_一次('Facebook/Facebook重定向loginhel

我不确定问题是什么,我知道FB的文档不是很好,但由于一些网站纠正了FB的错误,我停止了错误。但是当我把getLoginUrl()放在页面上,就像它所建议的那样,我什么也得不到。当我什么都不说的时候,我指的是一页空白

以下是测试脚本(删除了应用程序和密码):

define('FACEBOOK_SDK_V4_SRC_DIR','/FACEBOOK');
需要_一次('Facebook/FacebookSession.php');
需要_一次('Facebook/Facebook重定向loginhelper.php');
需要_一次('Facebook/FacebookRequest.php');
需要_一次('Facebook/FacebookResponse.php');
只需_一次('Facebook/FacebookSDKException.php');
需要_一次('Facebook/FacebookRequestException.php');
需要_一次('Facebook/Facebook authorizationexception.php');
需要一次_('Facebook/GraphObject.php');
使用Facebook\FacebookSession;
使用Facebook\FacebookRedirectLoginHelper;
使用Facebook\FacebookRequest;
使用Facebook\FacebookResponse;
使用Facebook\FacebookSDKException;
使用Facebook\FacebookRequestException;
使用Facebook\FacebookAuthorizationException;
使用Facebook\GraphObject;
FacebookSession::setDefaultApplication('app number','secret number');
//FACEBOOK登录资料
$helper=新的FacebookRedirectLoginHelper('http://www.prayerpond.com/index.php' );
试一试{
$session=$helper->getSessionFromRedirect();
}捕获(FacebookRequestException$ex){
//当Facebook返回错误时
}捕获(例外$ex){
//验证失败或其他本地问题时
}
?>
如果有帮助,当我尝试在我的实际网页上回显结果时,我会得到以下错误:

致命错误:对非对象调用成员函数getLoginUrl() 在

现在我突然发现了这个错误:

致命错误:未捕获异常“Facebook\FacebookSDKException” 中的消息“会话未激活,无法存储状态。” /home/wiseman/public_html/Facebook/Facebook重定向loginhelper.php:254 堆栈跟踪:#0 /home/wiseman/public_html/Facebook/Facebook重定向loginhelper.php(97): Facebook\FacebookRedirectLoginHelper->storeState('da3d6565ec97ed5…'))

1/home/wiseman/public_html/test.php(77):Facebook\Facebook重定向loginhelper->getLoginUrl()#2{main} 在/home/wiseman/public_html/Facebook/Facebook重定向loginhelper.php中 在线254


看起来我忘了在测试页面上放置session_start()。没有解释我在实际页面上出现错误的原因,但至少它在测试页面上工作。

看起来您的
$helper
对象没有正确初始化。。。将
echo$ex->getMessage()
放入
catch
块中,查看是否有任何错误将
session\u start()
添加到脚本的开头
define('FACEBOOK_SDK_V4_SRC_DIR', '/facebook');
require_once( 'Facebook/FacebookSession.php' );
require_once( 'Facebook/FacebookRedirectLoginHelper.php' );
require_once( 'Facebook/FacebookRequest.php' );
require_once( 'Facebook/FacebookResponse.php' );
require_once( 'Facebook/FacebookSDKException.php' );
require_once( 'Facebook/FacebookRequestException.php' );
require_once( 'Facebook/FacebookAuthorizationException.php' );
require_once( 'Facebook/GraphObject.php' );

use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;

FacebookSession::setDefaultApplication('app number', 'secret number');

// FACEBOOK LOGIN STUFF
$helper = new FacebookRedirectLoginHelper( 'http://www.prayerpond.com/index.php' );


try {
  $session = $helper->getSessionFromRedirect();
} catch( FacebookRequestException $ex ) {
  // When Facebook returns an error
} catch( Exception $ex ) {
  // When validation fails or other local issues
}
?>
<html>
<head>
</head>
<body>
<?PHP echo '<a href="' . $helper->getLoginUrl() . '">Login with Facebook</a>'; ?>


</body>
</html>