Быстрое редактирование: Перейдите на https://github.com/facebook/connect-js, убедитесь, что у вас установлена последняя версия и вы используете версию PHP, это намного проще, я нашел.
1) Как получить информацию о пользователе из Facebook для вставки в мою базу данных (при первом посещении)
$user_profile['last_name'];
$user_profile['first_name'];
$user_profile['gender'];
и т.д.
2) Как определить, что пользователь разрешил моему веб-сайту доступ к его информации?
API Facebook знает об этом, не волнуйтесь :-), когда пользователь нажимает на кнопку входа в систему, появляется всплывающее окно (как вы упомянули в своем вопросе) и когда он нажимает кнопку «Разрешить».
Одна вещь, которую вы должны сделать, однако, это создать приложение в Facebook, иначе оно не будет работать, я не уверен, если вы сделали это или нет, перейдите на https://developers.facebook.com/apps
3) Если доступ предоставлен, как перенаправить пользователя на новую страницу?
Javascript перенаправление в операторе if, вот как выглядит мой
Обязательно установите здесь и некоторые переменные:
<?php // Set the variables for the MVC
$first_name = $user_profile['first_name'];
$last_name = $user_profile['last_name'];
$full_name = $first_name . " " . $last_name;
$fb_id = $user_profile['id'];
$gender = $user_profile['gender'];
$SrcUser = mysql_query("SELECT * FROM users WHERE fb_id = '" . $fb_id . "'") or die(mysql_error());
$CheckDB = mysql_num_rows($SrcUser);
if($CheckDB == 1){
// If user has an account
while ($row = mysql_fetch_array($SrcUser))
{
$id = $row["id"];
$user_level = $row["user_level"];
}
session_start();
$_SESSION['user_name'] = $full_name;
$_SESSION['user_level'] = $user_level;
$_SESSION['user_id']= $id;
// Javascript redirect.. its kinda cheating to be honest as if i dont use it i will have awkwardness with header errors
?>
<script type="text/javascript">
window.location = "myaccount.php"
</script>
<?
} else {
// If user does not have an account create new
?> <?
session_start();
$_SESSION['fb_id']= $fb_id;
if($gender == "male"){
$gender = "1";
} else {
$gender = "0";
}
$_SESSION['r_full'] = $full_name;
$_SESSION['r_gender'] = $gender;
mysql_query("INSERT INTO users (full_name, gender, fb_id)
VALUES ('$full_name','$gender','$fb_id')");
$user_id = mysql_insert_id();
$md5_id = md5($user_id);
mysql_query("update users set md5_id='$md5_id' where id='$user_id'");
$md5_id = md5($user_id);
mysql_query("update users set md5_id='$md5_id' where id='$user_id'");
?>
Надеюсь, это поможет!