Login with facebook : You can use facebook login in your websites to allow users to login using their facebook account.you don’t need an extra registration and user management for your sites.you can also manage users in your facebook application page. This article explains how to integrate “Facebook login” to your websites using Facebook PHP SDK with an example and demo.
Login with facebook ( Version: 4 – Updated )
Create Facebook APP ID and APP secret .
Step 1 » Goto https://developers.facebook.com/apps/ and Click Add a New App .
» Choose Website
» Choose Name for you App and Click Create New Facebook App ID
» Choose a category for you App and click Create App ID
» Now Click Skip Quick Test
Step 2 » Under settings, Provide values for App domain ( Eg:www.krizna.com ) and Contact Email and click Add Platform.
Provide Values for Site URL and Mobile site URl ( Optional )
Step 3 » Now under Status & Review, Click the button to make you App live .
fbconfig.php file overview
Step 4 » Download the Demo package here Login with facebook .
Step 5 » Now open fbconfig.php file and enter your app ID, secret and change domain name .
// init app with app id and secret FacebookSession::setDefaultApplication( '64296382121312313','8563798aasdasdasdweqwe84' ); // login helper with redirect_uri $helper = new FacebookRedirectLoginHelper('https://www.krizna.com/fbconfig.php' );
Step 6 » Finally full code of fbconfig.php file. See the commented lines for more details
<?php session_start(); // added in v4.0.0 require_once 'autoload.php'; //require 'functions.php'; use FacebookFacebookSession; use FacebookFacebookRedirectLoginHelper; use FacebookFacebookRequest; use FacebookFacebookResponse; use FacebookFacebookSDKException; use FacebookFacebookRequestException; use FacebookFacebookAuthorizationException; use FacebookGraphObject; use FacebookEntitiesAccessToken; use FacebookHttpClientsFacebookCurlHttpClient; use FacebookHttpClientsFacebookHttpable; // init app with app id and secret FacebookSession::setDefaultApplication( '64296382121312313','8563798aasdasdasdweqwe84' ); // login helper with redirect_uri $helper = new FacebookRedirectLoginHelper('https://www.krizna.com/fbconfig.php' ); try { $session = $helper->getSessionFromRedirect(); } catch( FacebookRequestException $ex ) { // When Facebook returns an error } catch( Exception $ex ) { // When validation fails or other local issues } // see if we have a session if ( isset( $session ) ) { // graph api request for user data $request = new FacebookRequest( $session, 'GET', '/me' ); $response = $request->execute(); // get response $graphObject = $response->getGraphObject(); $fbid = $graphObject->getProperty('id'); // To Get Facebook ID $fbfullname = $graphObject->getProperty('name'); // To Get Facebook full name $femail = $graphObject->getProperty('email'); // To Get Facebook email ID /* ---- Session Variables -----*/ $_SESSION['FBID'] = $fbid; $_SESSION['FULLNAME'] = $fbfullname; $_SESSION['EMAIL'] = $femail; //checkuser($fuid,$ffname,$femail); header("Location: index.php"); } else { $loginUrl = $helper->getLoginUrl(); header("Location: ".$loginUrl); } ?>
logout.php file overview
Logout.php file is used only to destroy facebook session and return back to your home page .
Step 7 » Enter your home page in the code to redirect after logout.
<?php session_start(); session_unset(); $_SESSION['FBID'] = NULL; $_SESSION['FULLNAME'] = NULL; $_SESSION['EMAIL'] = NULL; header("Location: index.php"); // you can enter home page here ( Eg : header("Location: " ."https://www.krizna.com/home.php"); ?>
index.php file overview
Step 8 » You can change this file as per your need . Split this file into 2 parts before login and after login.
<?php session_start(); ?> <!doctype html> <html xmlns:fb="http://www.facebook.com/2008/fbml"> <head> <title>Login with facebook</title> --- --- --- css stuff --- --- ---- </head> <body> <?php if ($_SESSION['FBID']): ?> -- --- - - - -- - Display content After user login -- -- - --- ---- -- - <?php else: ?> -- --- - - - -- - Display content before login -- -- - --- ---- -- - <?php endif ?> </body> </html>
Finally full code of index.php file .
<?php session_start(); ?> <!doctype html> <html xmlns:fb="http://www.facebook.com/2008/fbml"> <head> <title>Login with Facebook</title> <link href="http://www.bootstrapcdn.com/twitter-bootstrap/2.2.2/css/bootstrap-combined.min.css" rel="stylesheet"> </head> <body> <?php if ($_SESSION['FBID']): ?> <!-- After user login --> <div class="container"> <div class="hero-unit"> <h1>Hello <?php echo $_SESSION['USERNAME']; ?></h1> <p>Welcome to "facebook login" tutorial</p> </div> <div class="span4"> <ul class="nav nav-list"> <li class="nav-header">Image</li> <li><img src="https://graph.facebook.com/<?php echo $_SESSION['USERNAME']; ?>/picture"></li> <li class="nav-header">Facebook ID</li> <li><?php echo $_SESSION['FBID']; ?></li> <li class="nav-header">Facebook fullname</li> <li><?php echo $_SESSION['FULLNAME']; ?></li> <div><a href="logout.php">Logout</a></div> </ul></div></div> <?php else: ?> <!-- Before login --> <div class="container"> <h1>Login with Facebook</h1> Not Connected <div> <a href="fbconfig.php">Login with Facebook</a></div> </div> <?php endif ?> </body> </html>
That’s it . now facebook users can login into your websites using facebook login ID.
Store the User information
» You can store the user info locally . Create a mysql database and import below table structure .
CREATE TABLE IF NOT EXISTS `Users` ( `UID` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `Fuid` varchar(100) NOT NULL, `Ffname` varchar(60) NOT NULL, `Femail` varchar(60) DEFAULT NULL, PRIMARY KEY (`UID`) );
» Open dbconfig.php file and change the DB vlaues.
<?php define('DB_SERVER', 'localhost'); define('DB_USERNAME', 'username'); // DB username define('DB_PASSWORD', 'password'); // DB password define('DB_DATABASE', 'database'); // DB name $connection = mysql_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD) or die( "Unable to connect"); $database = mysql_select_db(DB_DATABASE) or die( "Unable to select database"); ?>
» functions.php file contains a function to update the user information .
<?php require 'dbconfig.php'; function checkuser($fuid,$ffname,$femail){ $check = mysql_query("select * from Users where Fuid='$fuid'"); $check = mysql_num_rows($check); if (empty($check)) { // if new user . Insert a new record $query = "INSERT INTO Users (Fuid,Ffname,Femail) VALUES ('$fuid','$ffname','$femail')"; mysql_query($query); } else { // If Returned user . update the user record $query = "UPDATE Users SET Ffname='$ffname', Femail='$femail' where Fuid='$fuid'"; mysql_query($query); } } ?>
» Uncomment the below lines in fbconfig.php
require 'functions.php'; // Include functions
checkuser($fbid,$fbfullname,$femail); // To update local DB
That’s it .. now you can store the values locally .
Download contains all the configuration files .
Good luck
ohhhoo
How can I get information about city, country, Facebook username (nick)
Notice: Undefined index: FBID in /storage/h10/119/1330119/public_html/index.php on line 11
how to rectify this ??
I am unable to store data in database
Not found Uncomment the below lines in fbconfig.php
require ‘functions.php’; // Include functions
checkuser($fbid,$fbfullname,$femail); // To update local DB
Do include these lines in fbconfig.php
Undefined index: FBID in /storage/h14/222/1624222/public_html/1353/1353/index.php on line 12
I am getting this error.. Whats the solution>
And what about IOS login using fb app? How can I manage that?
how can work php version 5.2
Nice tutorial.how can i also get a facebook user history??please any help
How to convert it to Cakephp 2?
Please reply!!!
hi guys.
I am how to get access token after login?
Fatal error: Uncaught Error: Class ‘FacebookFacebookSession’ not found in /storage/ssd5/800/2194800/public_html/fbphp/fbconfig.php:17 Stack trace: #0 {main} thrown in /storage/ssd5/800/2194800/public_html/fbphp/fbconfig.php on line 17
I am getting this error even after entering the appid ans secret
Help me!!!
IO cant find where the lines
require ‘functions.php’; // Include functions
checkuser($fbid,$fbfullname,$femail); // To update local DB
are so I can uncomment them
I cant find where the lines
require ‘functions.php’; // Include functions
checkuser($fbid,$fbfullname,$femail); // To update local DB
are so I can uncomment them
same here!
Do include them in fbconfig.php
why don’t insert user’s data into database after success running
how to fetch mobile number.can anyone help me out
No you can not access user’s mobile number and address from Facebook API.
https://developers.facebook.com/docs/graph-api/reference/user here is the list of parameter that you can access through API.
Hope this helps.
Facebook disabled developer access to phone number and address so you can not get user’s Mobile number or address
profile from facebook not store in database local … please help ..
Does not work?
I do login, it does an authentication
But then back to the login page with the url “?Code= …”
i got this error
Fatal error: Uncaught Error: Cannot use object of type stdClass as array in /usr/share/nginx/X10/osman-api/public/fb/src/Facebook/FacebookRedirectLoginHelper.php:186 Stack trace: #0
why ?
Don’t work!
hey,
The Overall Demo is working properly but the LOGOUT FUNCTIONALITY is not working.
When I Login through this demo and clicks on logout button. It redirects me to home.But when I again click on Login it shows me the details of previous one.
It means session is not destroying.
Also When I open the Facebook account it already shows login.
So please provide me the solution for this through which i can Destroy the SESSION completely
I am getting this error. Can someone tellme the solution.
URL blocked: This redirect failed because the redirect URI is not white-listed in the app’s client OAuth settings. Make sure that the client and web OAuth logins are on and add all your app domains as valid OAuth redirect URIs.
I want to use this feature for http://www.cppbuzz.com
Thank you very much this is working
Please can you do a tutorial for v5. V4 generate a folder called summit which is blacklisted by google
Don’t download this, it contains a virus that generates random files and folders and your server and blacklist your server
This script is hacked. They always delete my comments and warnings, dont download
Oh.. We are sorry .
We analysed the script and found nothing . Could you please tell us which part of the script is hacked ?
Also please verify file checksum value after download
5AEE70643B40B68A4A15DC9E520BC1BE
Once your script is uploaded on a server, after 3 to 4 days it generates either a folder called summit or configurations and spread viruses. It also generates some files called leakspro.php and mail.php a little while after one has logged in with facebook. This got my account blacklisted on google until i removed your entire script on many of my website and cleaned the directory.
Thanks
It become many usefull 🙂 but Email id does’t get? what should i do?
your code is not getting email address, even in your demo
Email not get