Superare l'API di Facebook e sono un po 'confuso sull'approccio giusto. Voglio che gli utenti salgano la registrazione o li registrino automaticamente se accedono con Facebook. Quindi, se si collegano a Facebook, raccolgo il loro id, email e creo un record nella mia tabella utenti.Utilizzo di Facebook PHP-SDK 3.x per registrare/accedere utente con Codeigniter 2.1.0
Se esiste già un ID nella tabella utente, salta la registrazione automatica e passa direttamente alla pagina dei membri. Questo è il mio codice finora (tratto dall'esempio di PHP SDK di Facebook). Quando eseguo lo script di iscrizione la pagina si presenta vuota, non vengo reindirizzato.
EDIT: sembra fallire subito dopo la richiesta, se uso il seguente codice 'test' non viene mai stampato.
MODIFICA: sto usando Codeigniter e questo script fa parte di un controller, potrebbe causare un problema con il requisito?
require 'http://localhost/facebook-php-sdk-6c82b3f/src/facebook.php';
echo "test";
-
public function signup()
{
require 'http://localhost/facebook-php-sdk-6c82b3f/src/facebook.php';
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
'appId' => 'xxxxxxxxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxx',
));
// Get User ID
$user = $facebook->getUser();
// We may or may not have this data based on whether the user is logged in.
//
// If we have a $user id here, it means we know the user is logged into
// Facebook, but we don't know if the access token is valid. An access
// token is invalid if the user logged out of Facebook.
if ($user)
{
try
{
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
}
catch (FacebookApiException $e)
{
error_log($e);
$user = null;
}
}
// Login or logout url will be needed depending on current user state.
if ($user)
{
$logoutUrl = $facebook->getLogoutUrl();
}
else
{
$loginUrl = $facebook->getLoginUrl(array('scope' => 'email'));
redirect($loginUrl);
}
print_r($user_profile);
$this->load->model("user_model");
$privileges = 1;
$loginLocation = ip2long($_SERVER['REMOTE_ADDR']);
$active = 1;
$this->user_model->add_user($user_profile->id, $user_profile->name, $user_profile->email, $loginLocation, $privileges, $active);
}
Hai provato il requisito con un percorso del filesystem piuttosto che un percorso URL? – BenOfTheNorth