登录Facebook在服务器上出现错误

时间:2016-02-10 10:01:40

标签: php mysql facebook

使用facebook登录无法在我的服务器上运行,但是它在My site上的localhost检出错误

发现错误:

Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /.../Facebook/FacebookRedirectLoginHelper.php on line 175

我的login.php

<?php 
ob_start();
include 'init.php';
require_once 'config.php'; 
//initalize user class
$user_obj = new Cl_User();

/*********Facebook Login **********/
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');
require_once('Facebook/GraphUser.php');
require_once('Facebook/GraphSessionInfo.php');
require_once( 'Facebook/HttpClients/FacebookHttpable.php' );
require_once( 'Facebook/HttpClients/FacebookCurl.php' );
require_once( 'Facebook/HttpClients/FacebookCurlHttpClient.php' );
require_once( 'Facebook/Entities/AccessToken.php' );
require_once( 'Facebook/Entities/SignedRequest.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;
use Facebook\GraphUser;
use Facebook\GraphSessionInfo;

 FacebookSession::setDefaultApplication(FB_APP_ID, FB_APP_SECRET);

$helper = new FacebookRedirectLoginHelper(FB_REDIRECT_URI);
$session = $helper->getSessionFromRedirect();

if(isset($_SESSION['token'])){
    $session = new FacebookSession($_SESSION['token']);
    try{
        $session->validate(FB_APP_ID, FB_APP_SECRET);
    }catch(FacebookAuthorizationException $e){
        echo $e->getMessage();
    }
}

$data = array();

if(isset($session)){
    $_SESSION['token'] = $session->getToken();
    $request = new FacebookRequest($session, 'GET', '/me');
    $response = $request->execute();
    $graph = $response->getGraphObject(GraphUser::className());

    $data = $graph->asArray();
    $id = $graph->getId();
    $image = "https://graph.facebook.com/".$id."/picture?width=100";
    $data['image'] = $image;
    $user_obj->fb_login($data);
} 
/*********Facebook Login **********/
?>
<?php 
    if(!empty( $_POST )){
        try {
            $user_obj = new Cl_User();
            $data = $user_obj->login( $_POST );
            if(isset($_SESSION['logged_in']) && $_SESSION['logged_in']){
                header('Location: home.php');
            }
        } catch (Exception $e) {
            $error = $e->getMessage();
        }
    }
    //print_r($_SESSION);
    if(isset($_SESSION['logged_in']) && $_SESSION['logged_in']){
        header('Location: home.php');
    }
?>
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Smart Login Page</title>
    <link href='http://fonts.googleapis.com/css?family=Pacifico' rel='stylesheet' type='text/css'>
    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <link href="css/font-awesome.min.css" rel="stylesheet">
    <link href="css/login.css" rel="stylesheet">
    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="js/jquery.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="js/bootstrap.min.js"></script>
  </head>
  <body>
    <div class="container">
        <?php require_once 'templates/ads.php';?>
        <div class="login-form">
            <?php require_once 'templates/message.php';?>
            <h1 class="text-center">Login</h1>
            <div class="form-header">
                <i class="fa fa-user"></i>
            </div>
            <form id="login-form" method="post" class="form-signin" role="form" action="<?php echo $_SERVER['PHP_SELF']; ?>">
                <input name="email" id="email" type="email" class="form-control" placeholder="E-mail" autofocus> 
                <input name="password" id="password" type="password" class="form-control" placeholder="Password">

                <button class="btn btn-block bt-login" type="submit" id="submit_btn" data-loading-text="Password....">Login</button>
                <br>
                <a class="btn btn-primary facebook" style="width: 100%;" href="<?php echo $helper->getLoginUrl(array('email'));?>"> <i class="fa fa-facebook modal-icons"></i> เข้าสู่ระบบด้วย Facebook </a>
            </form>
            <div class="form-footer">
                <div class="row">
                    <div class="col-xs-6 col-sm-6 col-md-6">
                        <i class="fa fa-lock"></i>
                        <a href="forget_password.php">Forgot Password? </a>

                    </div>

                    <div class="col-xs-6 col-sm-6 col-md-6">
                        <i class="fa fa-check"></i>
                        <a href="register.php"> Register </a>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <!-- /container -->
    <script src="js/jquery.validate.min.js"></script>
    <script src="js/login.js"></script>
  </body>
</html>
<?php ob_end_flush(); ?>

我从这个Demo下载了登录系统(如果您需要下载此网站已经受到恶意软件的攻击,请在本网站遭到攻击之前留下我已下载的评论。)

1 个答案:

答案 0 :(得分:2)

看起来您的服务器正在运行与Facebook库不兼容的PHP版本。我建议升级你的PHP版本以匹配Facebook SDK所需的最低版本。

我可以看到您的服务器正在运行 PHP 5.3.28 (显示在您的X-Powered-By响应标头中)。 Facebook's v5 PHP SDK has a minimum requirement of PHP 5.4 or greater。确保您满足该要求,或降级PHP SDK版本。

相关问题