2011-09-22 22 views
-1

每次我去我的Facebook應用程序的畫布頁時,它簡要地顯示一個錯誤,說$行= $ _REQUEST [「代碼」]行上的未定義的索引;在此代碼顯示它看起來像它做了一個快速重定向,一切工作正常。有誰知道如何解決這個問題?以下是我在畫布頂部的代碼:

<?php 

$app_id = "244958008880978"; 
$app_secret = "xxxxxxxxxxxxxxxxxxxxxxxxx"; 
$my_url = "https://apps.facebook.com/guessyguesser/"; 
session_register(); 
session_start(); 

$code = $_REQUEST["code"]; 

if(empty($code)) { 
$_SESSION['state'] = md5(uniqid(rand(), TRUE)); //CSRF protection 
$dialog_url = "http://www.facebook.com/dialog/oauth?client_id=" 
. $app_id . "&redirect_uri=" . urlencode($my_url) . "&state=" 
    . $_SESSION['state']; 

echo("<script> top.location.href='" . $dialog_url . "'</script>"); 
} 



{ 
$token_url = "https://graph.facebook.com/oauth/access_token?" 
    . "client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url) 
    . "&client_secret=" . $app_secret . "&code=" . $code; 

$response = file_get_contents($token_url); 
$params = null; 
parse_str($response, $params); 

$graph_url = "https://graph.facebook.com/me?access_token=" 
    . $params['access_token']; 

$user = json_decode(file_get_contents($graph_url)); 
} 

?> 

謝謝!

回答

1

要麼一個@添加到第9行的開頭,或移動if塊和變線11的下方,9號線

if (!isset($_REQUEST["code"])) { 

哦,也是echo之後添加exit聲明。

+0

謝謝!這解決了它 – Trey

+0

...或者代替$ code = $ _REQUEST [「code」]; OP可以使用$ code = isset($ _REQUEST ['code'])? $ _REQUEST ['code']:NULL;'。 – Sk8erPeter

相關問題