Question

From yesterday my web site getting 500 server error from facebook server side while trying to log in to the site,Im sure I have done nothing updating my code,I searched everything but havent found any solutions. please check my code and help me.

<?php
session_start();
require 'config/fbconfig.php';
require 'facebook/facebook.php';
include"core.php";
connectdb();

$facebook = new Facebook(array(
            'appId' => APP_ID,
            'secret' => APP_SECRET,
            ));


    $user = $facebook->getUser();


if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }






    if (!empty($user_profile )) {
        # User info ok? Let's print it (Here we will be adding the login and registering routines)

        $username = $user_profile['name'];
             $uid2 = $user_profile['id'];
         $email = $user_profile['email'];
         $validated = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE email='".$email."'"));
       if($validated[0]== 1){
           $get_data = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE email='".$email."'"));
           $visits = $get_data['visits'];
           $visits2 = $get_data['visits']+1;
           $sid= keygen(30);
           mysql_query("UPDATE users SET fbid='".$uid2."', visits= '".$visits2."', sid='".$sid."' WHERE email='".$email."'");


           $_SESSION['sid'] = $sid;
           $expire=time()+60*60*24*30;
           setcookie("sid", $_SESSION['sid'], $expire); 

           if($get_data['cat_sec']==0){
              header('Location: cat_select.php');
               exit();

           }else{
               if(isset($_SESSION['curl'])){
                header('Location:'.$_SESSION['curl']); 
             }else{
               header('Location: index.php');
             }
               exit();

           }
       }else{
         $sid= keygen(30);
         $register = mysql_query("INSERT INTO users SET fname='".$username."', email='".$email."', fbid='".$uid2."', active='1' , sid='".$sid."'");  

           include_once"reg_fb_mail.php";
           header('Location: cat_select.php');
               exit();

       }

        $permissions = $facebook->api("/me/permissions");
    if (array_key_exists('publish_stream', $permissions['data'][0])) {

        $attachment = array(
    'message' => 'my web site message',
    'name' => 'www.mywebsite.com!',
    'caption' => "caption.",
    'link' => 'http://www.website.com',
    'description' => 'website description gose here ',
    'picture' => 'http://website.com/images/fb.png',
    'actions' => array(
        array(
            'name' => 'www.website.com',
            'link' => 'http://www.website.com'
        )
    )
);


$result = $facebook->api('/me/feed/', 'post', $attachment);
} 

    } else {
        # For testing purposes, if there was an error, let's kill the script
        die("There was an error.");
    }
} else {
    # There's no active session, let's generate one
    $login_url = $facebook->getLoginUrl(array( 'scope' => 'email,publish_stream'));
    header("Location: " . $login_url);
}
?>

I have attached all the code.Please help me to sort this issue . Thank you.

Était-ce utile?

La solution

Error figure outs ! The issue was not at this code.In facebook settings page I found there is a single space before the APP ID . its now fixed.. Facebook dosent trim or remove white spaces from get parameters in Authentication. If there is a invalid character its getting a 500 server error in facebook. I think this is a critical security issue. Hal Rotholz - Thanks for your clue..

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top