Php 为什么我会得到一个“a”;页面不是';t正确重定向“;错误?

Php 为什么我会得到一个“a”;页面不是';t正确重定向“;错误?,php,facebook,Php,Facebook,我是从nettuts那里得到的,有人能告诉我为什么会出现“页面没有正确重定向”错误吗 将经过身份验证的用户重定向到$facebook->getLoginUrl(数组(…),创建重定向循环 您应该只重定向未经身份验证的用户(使用req\u perms重定向应该在else子句中)。只有当您检测到用户未授予您所有必需的权限时,try中的重定向才会发生 您可以通过调用以下命令来检查授予的权限: $perms = $facebook->api(array( 'method' => 'f

我是从nettuts那里得到的,有人能告诉我为什么会出现“页面没有正确重定向”错误吗


将经过身份验证的用户重定向到
$facebook->getLoginUrl(数组(…)
,创建重定向循环

您应该只重定向未经身份验证的用户(使用
req\u perms
重定向应该在
else
子句中)。只有当您检测到用户未授予您所有必需的权限时,
try
中的重定向才会发生

您可以通过调用以下命令来检查授予的权限:

$perms = $facebook->api(array(
    'method' => 'fql.query',
    'query' => 'SELECT email,user_birthday,status_update,publish_stream,user_photos,user_videos FROM permissions WHERE uid=' . $facebook->getUser()
));

修改代码:

<?php
# We require the library
require("facebook.php");

# Creating the facebook object
$facebook = new Facebook(array(
    'appId'  => 'APP_ID_HERE',
    'secret' => 'APP_SECRET_HERE',
    'cookie' => true
));

# Let's see if we have an active session
$session = $facebook->getUser();

if(empty($session)) {
    # There's no active session, let's generate one
    $url = $facebook->getLoginUrl(array(
        'req_perms' => 'email,user_birthday,status_update,publish_stream,user_photos,user_videos'
    ));
    header("Location: $url");
    exit;
}
// user is logged in

如果您使用的是最新的PHP SDK,那么已经进行了一些更改,并且您请求的权限不是这样工作的

这是一个更新的代码

<?php 
# We require the library 
require("facebook.php"); 

# Creating the facebook object 
$facebook = new Facebook(array( 
    'appId'  => 'APP_ID_HERE', 
    'secret' => 'APP_SECRET_HERE', 
    'cookie' => true 
)); 

# Let's see if we have an active session 
$session = $facebook->getUser(); 

if(empty($session)) { 
    # There's no active session, let's generate one 
    $url = $facebook->getLoginUrl(array( 
        "response_type"=>"token", //Can also be "code" if you need to
        "scope" => 'email,user_birthday,status_update,publish_stream,user_photos,user_videos' ,
        "redirect_uri"=> "http://test.com" //Your app callback url
    )); 
    header("Location: $url"); 
    exit; 
} 
// user is logged in 

你能帮我修复上面粘贴的代码吗?:(,我不明白你的意思。如果发生异常,做点什么。永远不要扔掉它。
<?php 
# We require the library 
require("facebook.php"); 

# Creating the facebook object 
$facebook = new Facebook(array( 
    'appId'  => 'APP_ID_HERE', 
    'secret' => 'APP_SECRET_HERE', 
    'cookie' => true 
)); 

# Let's see if we have an active session 
$session = $facebook->getUser(); 

if(empty($session)) { 
    # There's no active session, let's generate one 
    $url = $facebook->getLoginUrl(array( 
        "response_type"=>"token", //Can also be "code" if you need to
        "scope" => 'email,user_birthday,status_update,publish_stream,user_photos,user_videos' ,
        "redirect_uri"=> "http://test.com" //Your app callback url
    )); 
    header("Location: $url"); 
    exit; 
} 
// user is logged in