mercoledì 15 maggio 2013

Login Facebook con Php

Effettuare il login su Facebook tramite Php non è mai stato così semplice!

L'integrazione tra Facebook e Php è spesso sinonimo di rogne e problemi vari.

Cercherò di farvi comprendere nel modo più semplice possibile come realizzare una pagina php che effettua il login dell'utente su facebook e ne estrae le credenziali immagazzinandole in variabili.


Prima di tutto scaricate l’SDK per php da qui: https://github.com/facebook/facebook-php-sdk;

Ora create un file Accedi.php e copiatevi il codice qui in basso:

<?

//richiamo la facebook php sdk
require 'facebook-php-sdk-master/src/facebook.php';

//mi collego a facebook, sostituisco i parametri AppID e AppSecret con quelli della mia App
$app_id = 'xxxxxxxxxx';
$app_secret = 'xxxxxxxxx';
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
));

// Verifico se l'utente è connesso altrimenti lo collego
$user = $facebook->getUser();

//Controlla se l'utente è loggato su Facebook
if ($user) {
try {
   
// Cose da fare se l'utente è connesso
// Stampo informazioni dell'utente

$user_profile = $facebook->api('/me');

$first = $user_profile['first_name'];
echo "Benvenuto ";
echo $first;
echo " ";
$last = $user_profile['last_name'];
echo $last;
echo "<p>";

$FB_ID = $user_profile['id'];
echo "Il tuo Facebook ID e': ";
echo $FB_ID;
echo "<p>";

$FB_LINK = $user_profile['link'];
echo "Il tuo Facebook Link e': ";
echo $FB_LINK;
echo "<p>";

$compleanno = $user_profile['birthday'];
echo "Sei nato il: ";

$separatore="/";
$suddivisa=explode($separatore, $compleanno);
$mese=$suddivisa[0];
$giorno=$suddivisa[1];
$anno=$suddivisa[2];

echo $giorno;
echo"/";
echo $mese;
echo "/";
echo $anno;
echo "<p>";

$citta = $user_profile['location']['name'];

echo "Vivi a : ";
echo $citta;
echo "<p>";

$cittanatale = $user_profile['hometown']['name'];
if($cittanatale){
echo "Sei nato a : ";
echo $cittanatale;
echo "<p>";
}
$istruzione = $user_profile['education'][0]['school']['name'];
if($istruzione){
echo "Istruzione : ";
echo $istruzione;
echo "<p>";
}

$sesso = $user_profile['gender'];
echo "Sei: ";
if($sesso=="male"){
    $sesso="Maschio";
}
else if($sesso=="female"){
    $sesso="Femmina";
}
echo $sesso;
echo "<p>";

$lingua = $user_profile['locale'];
echo "Lingua: ";
$intermezzo="_";
$tokenlingua=explode($intermezzo, $lingua);
$lingua=$tokenlingua[1];
echo $lingua;
echo "<p>";

echo "<img src='http://graph.facebook.com/$FB_ID/picture'/>";

echo "<p>";

} catch (FacebookApiException $e) {
   
//se avviene qualche errore lo segnalo
error_log($e);
$user = null;
}
} else {
   
//se l'utente non è loggato faccio fare il login automatico
$params = array(
'scope' => 'user_birthday',
);
$loginUrl = $facebook->getLoginUrl($params);
echo("<script> top.location.href='" . $loginUrl . "'</script>");
}
?>

Sostituite l'app id e l'app secret con quelli della vostra facebook app, copiate la cartella dell'sdk nella stessa directory dove si trova il file Accedi.php e avrete concluso.

Quando aprirete la pagina Accedi.php vi chiedere di effettuare il login con facebook e stamperà a video i vostri dati personali!

Nessun commento:

Posta un commento