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
I cannot log out 🙁
probably same issue, if i click logout it logs me out of facebook, but i stay logged in the website using this script with full access to my fb data.(just using vanilla copy of script atm). any suggestions?
only way i seem to be able to revoke access to profile is to remove app in my facebook settings. bit problem, since if someone logs into my site on a PC, then logs out, someone else comes on PC – they immediately get access to previous account since logout doesn’t work and they can see all previous users fb details displayed, without even needing a fb login :/ googling fix now, but thus far seems noone else has/has noticed this issue :(… search continues…
Same issue here. Fixed.
Go to index.php page. Replace the logout link with the following link:
Logout
go to logout.php and change the header location to your desired url.
madam, can you help me, I have ”
This webpage has a redirect loop” issue coming up. thanks.
The script seems awesome but it doesn’t seem to be working for me. When i press the login with facebook link It is sending me to a facebook link, but then im redirected back to the index page before i even login. Please help me! 😀
Why I can’t show the username? (It’s use the full source of the Download Pack)
Why I can’t show the username? (It’s use the full source of the Download Pack)
demo not working
demo not working
I am getting this error: You are using a display type of ‘page’ in a small browser window or popup. For a better user experience, show this dialog with our JavaScript SDK without specifying an explicit display type. The SDK will choose the best display type for each environment. Alternatively, use display type ‘popup’ if you have special requirements precluding you from using the SDK. This message is only visible to developers of your application. Has anyone else had this problem?
I am getting this error: You are using a display type of ‘page’ in a small browser window or popup. For a better user experience, show this dialog with our JavaScript SDK without specifying an explicit display type. The SDK will choose the best display type for each environment. Alternatively, use display type ‘popup’ if you have special requirements precluding you from using the SDK. This message is only visible to developers of your application. Has anyone else had this problem?
hi please help me. after login on left sidebar no friend list show it should be error Warning: Invalid argument supplied for foreach() in C:xampphtdocsfacebook_sourceindex.php on line 106 and when i click on like button it should be error. help me please. thanks in advance.
can u tell me how to get friend list from this tutorial’s demo code ??
hi please help me. after login on left sidebar no friend list show it should be error Warning: Invalid argument supplied for foreach() in C:xampphtdocsfacebook_sourceindex.php on line 106 and when i click on like button it should be error. help me please. thanks in advance.
can u tell me how to get friend list from this tutorial’s demo code ??
your demo is fucked up dude
your demo is fucked up dude
good tutorial, but I have problem, I can log in with one account ( that is administrator / developer account) and unable with all others.
I have the same problem. 🙁
good tutorial, but I have problem, I can log in with one account ( that is administrator / developer account) and unable with all others.
I have the same problem. 🙁
Am using subdomain for facebook login while login button is pressed a white new popup opens and doing nothng wat to do
Hi, vinay Is this problem solved, I have ”
This webpage has a redirect loop” issue, can anybody help me?
Am using subdomain for facebook login while login button is pressed a white new popup opens and doing nothng wat to do
Hi, vinay Is this problem solved, I have ”
This webpage has a redirect loop” issue, can anybody help me?
its work only for one id not for all.please help me to login all users.
change
Do you want to make this app and all its live features available to the general public? to yes….
in status & review tab of apps
its work only for one id not for all.please help me to login all users.
change
Do you want to make this app and all its live features available to the general public? to yes….
in status & review tab of apps
i am able to login to site,but not able to acess my details.can any one help me?
i am able to login to site,but not able to acess my details.can any one help me?
i am able to login to site,but not able to acess my details.can any one help me?
i am able to login to site,but not able to acess my details.can any one help me?
Notice: Undefined index: FBID
you can write
(isset($_SESSION[‘FBID’]))
sir, can you help me, I have
“This webpage has a redirect loop” issue.
Notice: Undefined index: FBID
you can write
(isset($_SESSION[‘FBID’]))
sir, can you help me, I have
“This webpage has a redirect loop” issue.
in functions.php, change this:
Fuid=’$fbid'”
to this:
Fuid=’$fuid'”
Or it’s gonna insert same users during every single login;)
sir, can you help me plz, I have
“This webpage has a redirect loop” issue.
in functions.php, change this:
Fuid=’$fbid'”
to this:
Fuid=’$fuid'”
Or it’s gonna insert same users during every single login;)
sir, can you help me plz, I have
“This webpage has a redirect loop” issue.
I have a problem where additional users are not getting added to the database when they login. any fix?
I have a problem where additional users are not getting added to the database when they login. any fix?
when i login i my account in facebook it will redirect into my index file and i cannot see my information in my facebook
hey bro plz help me
hi Jewin, can you give me the solution plz? thx
Sir, can you help me I have
“This webpage has a redirect loop” issue. plz help me