2013-07-29 35 views
0

我的PHP文件是:包括HTML页面的PHP文件的内容

<?php 
session_start(); 

    if (!class_exists('FacebookApiException')) { 
    require_once('facebook.php'); 
    } 
     $facebook = new Facebook(array(
     'appId' => $appId, 
     'secret' => $appSecret, 
    )); 
    $fbuser = $facebook->getUser(); 
if ($fbuser) { 
     try { 
     $user_interest = $facebook->api('/me/movies'); 
     echo '<pre>'; 
     //print_r($user_interest); 
     } 
catch (FacebookApiException $e) { 
    echo '<pre>'.htmlspecialchars(print_r($e, true)).'</pre>'; 
    $user = null; 
    }} 
?> 

我想在php文件中使用$ user_interest和其他变种的HTML代码: 我在下面的方式赋予错误$ user_interest尝试没有定义的。

<?php 
session_start(); 
$appId = '619'; 
$appSecret = 'myverybeatuifuldaisygiveusmilk'; // Facebook App Secret 
$return_url = 'http://yoursite.com/connect_script/'; //path to script folder 
$fbPermissions = 'publish_stream,email'; //more permissions : https://developers.facebook.com/docs/authentication/permissions/ 
require_once('facebook.php'); 
$facebook = new Facebook(array(
     'appId' => $appId, 
     'secret' => $appSecret, 
    )); 
    $fbuser = $facebook->getUser(); 
    $user_interest = $facebook->api('/me/movies'); 
?> 
<!DOCTYPE html> 
<html xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en-gb" lang="en-gb" ><head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
<title>JS/Ajax Facebook Connect</title> 
<script> 
function AjaxResponse() 
{ 
    var myData = 'connect=1'; 
    $.ajax({ 
    type: "POST", 
    url: "process_facebook.php", 
    data: myData 
    }).done(function(result) { 
    $("#fb-root").html(result); 
    }); 
    } 


</script></head><body> 

<div id="fb-root"></div> 
<script type="text/javascript"> 
window.fbAsyncInit = function() { 
FB.init({ 
    appId: '<?php echo $appId; ?>', 
    cookie: true, 
    xfbml: true, 
// channelUrl: '<?php echo $return_url; ?>channel.php', 
    oauth: true});}; 
document.write($user_interest); 
(function() { 
    var e = document.createElement('script'); 
    e.async = true; 
    e.src = document.location.protocol +'//connect.facebook.net/en_US/all.js'; 
    document.getElementById('fb-root').appendChild(e);}()); 

function CallAfterLogin(){ 
     FB.login(function(response) { 
     if (response.status === "connected") 
     { 
      LodingAnimate(); //Animate login 
      FB.api('/me', function(data) { 
      console.log($user_interest); 

       }); 
     }  }); } 
</script> 
</body> 
</html> 
+0

丑陋和肮脏的代码就是为什么我wanderring这个网站上,而不是工作的原因。这很烦人,需要时间来阅读,修复和改进。想想那些会读你的人。 FFS。 – Virus721

+1

哦,你发布你的应用程序的秘密密钥和应用程序ID ...你做错了一件事...:P –

回答

2

尝试改变线

console.log($user_interest); 

到:

console.log('<?php echo $user_interest; ?>'); 
+0

感谢哥们。但是对于上面的代码,它给出了这个错误:'致命错误:未捕获的CurlException:28:操作在10017毫秒后超时,0/0/0 /在线994上的base_facebook.php process_facebook.php有'require_once'base_facebook.php';' – user123

2

您使用的是PHP上下文之外的变量$ user_interest。 应该放在PHP的标签,像这样:

<?php echo $user_interest; ?> 
+0

谢谢哥们。但是对于上面的代码,它给出了这个错误:'致命错误:未捕获的CurlException:28:操作在10017毫秒后超时,0/0/0 /线994上的base_facebook.php' process_facebook.php具有'require_once'base_facebook.php';' – user123