Skip to main content

Facebook Login






Step 1: Go on Apps & create new Apps

Step 2: Enter the app name & choose category













Step 3: Enter the site domain
















Script code

<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js#appId=<?php echo '603609636351597';?>">
</script>

<script>
   FB.init({ 
            appId:'<?php echo '603609636351597';?>', cookie:true, 
            status:true, xfbml:true 
         });
 
FB.getLoginStatus(function(response) {
  });

Login function call on click

function faceLogin(){
 FB.login(function(response) {
   if (response.authResponse) {
 FB.api('/me', function(response) {
$('input[id=facebook_login_fb]').val(response['id']);
$('#fb_login_form').submit();
 });
   } else {
 console.log('User cancelled login or did not fully authorize.');
   }
 }, {scope: 'email,user_photos'}); 
};

Data handling

function Login() {
FB.login(function(response) {
   if (response.authResponse) {
 FB.api('/me', function(response) {
var str;
    str = response['id'] + ";\n" +
response['name'] + ";\n" +
response['first_name'] + ";\n" +
response['last_name'] + ";\n" +
response['birthday'] + ";\n" +
response['gender'] + ";\n" +
response['username'] + ";\n" +
response['phone'] + ";\n" +
response['email'];
$('input[id=full_name]').val(response['name']);
$('input[id=first_name_fb]').val(response['first_name']);
$('input[id=last_name_fb]').val(response['last_name']);
$('input[id=email_fb]').val(response['email']);
$('input[id=facebook_id_fb]').val(response['id']);

if(response['hometown']!=undefined)
{
$('input[id=hometown]').val(response['hometown']['name']);
}
$('#fb_registration_form').submit();
 });
   } else {
 console.log('User cancelled login or did not fully authorize.');
   }
 }, {scope: 'email,user_birthday,user_photos,user_hometown,user_location'});
    };
</script>

Hidden form to store data

<div style="display:none;">
<form id="fb_registration_form"  
action="<?php echo HTTP_ROOT.'Members/facebookRegister'?>"  method="post">

<input type="text" name="data[Member][email]" id="email_fb" value="" />
<input type="text" name="data[Member][facebook_id]" id="facebook_id_fb" value="" />
<input type="text" name="data[Member][user_name]" id="full_name" value="" />
<input type="text" name="data[Member][first_name]" id="first_name_fb" value="" />
<input type="text" name="data[Member][last_name]" id="last_name_fb" value="" />
<input type="text" name="data[Member][hometown]" id="hometown" value="" />
</form>
</div>

Request handler function

function facebookRegister()
   {
if($this->request->is('POST'))
{
$data=$this->request->data;
}
}

Html tag

<a href="javascript:void(0)" class="fb" id="fb-login" onclick="Login();"></a>

Comments

Popular posts from this blog

Generate XML file in Cakephp

Steps to Generate XML file using CakePHP: Step-1 Enable to parse xml extension in config route.php file.     Router::parseExtensions('xml'); Step-2 Add Request Handler Component to the Controller    var $components = array(‘RequestHandler’); Step-3 Add controller Action For XML Generation in Post Controller     function generateXMLFile()     {         if ($this->RequestHandler->isXml()) { // check request type             $this->layout = 'empty'; // create an empty layout in app/views/layouts/empty.ctp              }        }  Add header code in empty layout <?php header('Content-type: text/xml');?> <?php echo $this->Xml->header(); ?> <?php echo $content_for_layout; ?> Step-4 Set up View To generate XML Create xml folder inside Posts vi...

Simple JavaScript Object and Class Examples

In JavaScript, most things are objects. An object is a collection of related data and/or functionality Namespace: Everything you create in JavaScript is by default global. In JavaScript namespace is Global object . How to create a namespace in JavaScript? Create one global object, and all variables, methods, and functions become properties of that object. Example:  // global namespace var MYAPP = MYAPP || {}; Explaination: Here we first checked whether MYAPP is already defined.If yes, then use the existing MYAPP global object, otherwise create an empty object called MYAPP How to create sub namespaces? // sub namespace MYAPP.event = {}; Class JavaScript is a prototype-based language and contains no class statement.JavaScript classes create simple objects and deal with inheritance. Example: var Person = function () {}; Explaination: Here we define a new class called Person with an empty constructor. Use the class keyword class Calculation {}; A class expr...

How to Add Next Previous links to The Event Calendar

Add Next/Previous links to The Event Calendar Wordpress Plugin Add code to your child theme’s functions.php file /**  * Allows visitors to page forward/backwards in any direction within month view */ if ( class_exists( 'Tribe__Events__Main' ) ) { class ContinualMonthViewPagination {     public function __construct() {         add_filter( 'tribe_events_the_next_month_link', array( $this, 'next_month' ) );         add_filter( 'tribe_events_the_previous_month_link', array( $this, 'previous_month' ) );     }     public function next_month() {         $url = tribe_get_next_month_link();         $text = tribe_get_next_month_text();         $date = Tribe__Events__Main::instance()->nextMonth( tribe_get_month_view_date() );         return '<a data-month="' . $date . '" href="' . $url . '" rel="next"...