2012-06-03 2 views
0

Я работаю над этим в течение 5 часов, просматривая каждый элемент stackoverflow и google search, который я знаю, но я не мог решить эту проблему. Мне было интересно, могу ли я обратиться к вам за помощью.PHP Неустранимая ошибка: вызов функции функции при входе в систему Facebook

Я создаю этот виджет Wordpress, который позволяет пользователям входить на фейсбук, чтобы слушать радиошколы моей школы.

Я сделал обычные (я думаю правильно) такие шаги следующим образом:

require_once('facebook.php'); 

    $facebook = new Facebook(array(
     'appId' => 'my id', 
     'secret' => 'my secret', 
    )); 

    // Get User ID 
    $user = $facebook->getUser(); 

    if ($user) { 
     $logoutUrl = $facebook->getLogoutUrl(); 
    } else { 
     $loginUrl = $facebook->getLoginUrl(); 
    } 

... И несколько несущественных строк кода позже ...

 window.fbAsyncInit = function() { 
     FB.init({ 
      appId: '<?php echo $facebook->getAppID() ?>', 
      cookie: true, 
      xfbml: true, 
      oauth: true 
     }); 
     FB.Event.subscribe('auth.login', function(response) { 
      window.location.reload(); 
     }); 
     FB.Event.subscribe('auth.logout', function(response) { 
      window.location.reload(); 
     }); 
     };  

Однако я получаю сообщение об ошибке, которое говорит «PHP Фатальная ошибка: Вызов функции-члена getAppID() на не-объект в ...» для линии:

appId: '<?php echo $facebook->getAppID() ?>', 

я пробовал другие линии, как

appId: '<?php echo $this->facebook->getAppID() ?>', 

и

appId: '<?php echo $facebook::getAppID() ?>', 

и

appId: '<?php echo $facebook->getAppID(); ?>', 

Все это не сработало. Кроме того, я не знаю, если это еще одна ошибка, но мой

$loginUrl 

и

$logoutUrl 

одновременно нулю ...: \

Я PHP-самоучка новичок , это на самом деле первый проект php, над которым я работаю. Если эта проблема нигде на этом сайте, я уверен, что это должно быть что-то неправильно, но проблема в том, что я не знаю, что это такое.

Так что да, я решил передать его вам. Большое спасибо за помощь! :)

ответ

0

Код javascript, в котором находится эта строка, вероятно, находится за пределами s ope объекта $facebook. Попробуйте добавить эту строку выше JavaScript:

global $facebook; 
+0

К тому же вы имеете в виду что-то вроде ? – puissant

+0

Нет, это PHP-код, поэтому ' ' – Jeroen

+0

Спасибо, Jeroen, но я все еще получаю ошибку в той же строке. Просто интересно, хотя, хотя это не сработало, что делает глобальная переменная? – puissant