Cita:
Iniciado por Panino5001 Yo uso esto y no tengo problemas en explorer:
Código PHP:
<div id="fb-root"></div>
<script src="http://connect.facebook.net/es_ES/all.js"></script>
<script type="text/javascript">
FB.init({appId: '<?php echo APP_ID ?>', status: true, cookie: true, xfbml: true,channelUrl: '<?php echo BASE_URL ?>/channel.html'});
</script>
En channel.html, esto:
Código PHP:
<script src="http://connect.facebook.net/en_US/all.js"></script>
Y si se te complica, directamente hacelo en php, redirigiendo los botones de login a un archivo receiver1.php que tenga algo así:
Código PHP:
<?php
session_start();
error_reporting(0);
@set_time_limit(0);
define('SECRET','xxxxxxxxxxxxxxxxxx');
define('API_KEY','xxxxxxxxxxxxxxxxx');
define('APP_ID','xxxxxxxxxxxxxxxxxx');
define ('BASE_URL','http://xxxxxxxxxxxx.com');
$code = isset($_REQUEST["code"])?$_REQUEST["code"]:0;
$my_url=BASE_URL.'/receiver1.php';
if(empty($code)) {
$dialog_url = "http://www.facebook.com/dialog/oauth?client_id="
. APP_ID . "&redirect_uri=" . urlencode($my_url)
. "&scope=user_photos%2Cemail%2Cread_stream%2Cpublish_stream%2Coffline_access";
echo("<script>top.location.href='" . $dialog_url . "'</script>");
exit;
}
$token_url = "https://graph.facebook.com/oauth/access_token?client_id="
. APP_ID . "&redirect_uri=" . urlencode($my_url)
. "&client_secret=" . SECRET
. "&code=" . $code;
$access_token = file_get_contents($token_url);
$_SESSION['at']=$access_token;
$data=file_get_contents('https://graph.facebook.com/me?'.$access_token);
$info=json_decode($data);
$_SESSION['uid']=$info->id;
$_SESSION['nombrebk']=$info->first_name.' '.$info->last_name;
$_SESSION['login']='loquesea';
$_SESSION['origen']='FB';
$_SESSION['email']=$info->email;
$_SESSION['pic']='https://graph.facebook.com/'.$info->id.'/picture';
$amigos=file_get_contents('https://graph.facebook.com/me/friends?'.$access_token);
$_SESSION['amigos']=json_decode($amigos);
$_SESSION['sexo']=(strtolower($info->gender)=='male')?'M':'F';
if(!isset($info->id) || empty($info->id)){
echo("<script>top.location.href='" . $dialog_url . "'</script>");
exit;
}
header("Location:b.php");//aquí redirigís adonde te convenga
?>
Panino5001, Gracias por tu respuesta, mi problema es que en IE no se muestran los botones de facebook, creo que es por que estos se ponen en un iFrame que el Javascript SDK pone en el HTML y al querer hacer esto es cuando me marca ese error de javascrtip.
Lo que intento es averiguar por que me marcar ese error de javascript, en Firefox todo funciona bien, se conecta a facebook y lo redirijo a la pagina que yo quiera.
El codigo PHP que me envías, supongo que me estas sugiriendo que yo ponga los botones, en vez de dejarle esta acción al javascript sdk y que lo redireccione a este script?