
I’ve tried to add Facebook Login button to my CodeIgniter application. Since I’m new to both CodeIgniter and Facebook Connect, at least from development aspect, I have looked for existing tutorials. After research I found that Danny Herrarn tutorial is the best one.
However, I faced a couple of issues, to which, I found no answer neither in the post or the comments and discussions beneath it.
That said, if you’re new, go to Danny Herrarn tutorial first. If things were not working for you, get back to this page and look at the different issues I faced and how I fixed them:
- Blank Page: the reason for this is definitely that you’re having and error. So why you might not be getting any errors though you’ve error_reporting(E_ALL) in your index.php? the answer is simple. The sitting in PHP.ini has more precedence. To make sure you get errors on the screen add the following line
ini_set(“display_errors”,”1″);Your code in index.php should look something like below:
Most probably the errors are related to you not auto loading the session library and not defining an encryption key; which is required for session management. In your config.php make sure that $config[‘encryption_key’] has a value. Then go to autoload.php and make sure to add session to $autoload[‘libraries’] array. - Page does not refresh after login: One have to manually refresh the page after login on Facebook to have the page refreshed. Though my understanding is that this is the default behavior in the newest version of Facebook connect, it did not work with me! I have to define a login function callback to handle that. The code below worked perfectly with me:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId: 'YOUR APP ID',
cookie: true,
xfbml: true,
oauth: true
});
FB.Event.subscribe('auth.logout', function(response) {
return false;
});
};
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol +
'//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
function fbLogin() {
window.location.reload();
}<</script>
<fb:login-button length="long" autologoutlink="false" onlogin="fbLogin();"></fb:login-button>
Finally, I have to admit, I am new to both CodeIgniter and Facebook Login and I was just interested to have things working. This might not be the optimal way to do it, but if you just want things to get working, I believe it serves the purpose J.
Hey I have the issue while doing the function $this->facebook->getUser(); I loaded the library and now it wants me to create object one more time?
It’s error: Fatal error: Call to a member function getUser() on a non-object in /home/dev/system/application/models/facebook_model.php on line 18
I wrote this long time ago :).. not sure if I still have the code. Let me check.
One this that I can tell from the error is that FB object is not initated right. There might be a problem in your APP ID or something like that
Please go through this url:
http://www.idiotminds.com/login-with-facebook-in-codeigniter/
I’m really inspired with your writing skills and also with the format in your blog. Is that this a paid theme or did you customize it your self? Anyway stay up the excellent quality writing, it is uncommon to peer a great weblog like this one nowadays..