在IIS上使用Documentation;
<?php
$key = '**********';
$value = '**********';
session_start ( );
$code = $_REQUEST [ 'code' ];
if ( empty ( $code ) )
{
$_SESSION [ 'state' ] = md5 ( uniqid ( rand ( ) , true ) );
$dialog_url = 'https://www.facebook.com/dialog/oauth?client_id=' . $key . '&redirect_uri=' . urlencode ( $value ) . '&state=' . $_SESSION [ 'state' ];
echo('<script> top.location.href=' . $dialog_url . ';</script>');
}
?>
结果:
top.location.href=' . $dialog_url . ';'); } ?>
请在发布之前尝试您的建议,因为我已尝试了40多条建议,审核了所有类似问题,并在过去2小时内进行了搜索。
答案 0 :(得分:3)
您的服务器不会将您的文件解析为php。这就是症状。
请将how to configure your IIS server视为解析html文件为PHP。
编辑完整性:
正如其他答案所述,您应该在$dialog_url
附近添加双引号以防止javascript错误
echo('<script> top.location.href="' . $dialog_url . '";</script>');
答案 1 :(得分:2)
根据您的评论,这是在.html
文件中。将文件重命名为.php
扩展名,并确保通过Apache等服务器进行查看。如果您没有方便,我建议XAMPP。
(旧答案,仍然相关)
您需要在脚本中使用双引号:
echo '<script>top.location.href="' . $dialog_url . '";</script>';
答案 2 :(得分:2)
尝试
echo '<script> top.location.href="' . $dialog_url . '";</script>';
答案 3 :(得分:0)
echo("<script>top.location.href='{$dialog_url}';</script>");
用引号括起$ dialog_url,用双引号括起来,以便轻松实现。